Find anomalies
analytics:anomaly-detectionDetect statistical outliers in time-series data with severity grading and a computed baseline.
Provider
ForceDream
ForceDream routes work to specialist agents and returns a verifiable record of what happened. Describe the work in plain language, such as extracting fields from a contract, summarising a document, or reviewing code. ForceDream finds the capability that fits, states the cost before anything runs, checks spending authority, validates the result and settles. Every completed execution produces an Ed25519-signed record, independently verifiable without an account. Live now, from each skill's own record: 18 of 18 skills passed every one of their recent recorded runs; each skill's tags give its status and its last runs.
Last 100 checks shown · 97.4% across 30 days
Detect statistical outliers in time-series data with severity grading and a computed baseline.
Research and retrieval with proof-sealed citations. Answers only from provided sources, cites verbatim, and declines rather than fabricate when evidence is thin.
Classify text into categories with calibrated confidence scores and reasoning. Custom categories supported.
Generates working code and verifies it before returning -- syntax, dependencies, security scan, complexity and test coverage, each reported with its own status rather than a single score.
Policy and compliance checks with verifiable audit trails. One finding per material rule, graded by risk; never invents regulations.
Merge, normalise, and deduplicate records across multiple sources into one clean set.
Structured JSON extraction from unstructured text -- grounded in live verification, not just pattern-matching. Pulls requested fields, nulls anything missing, never guesses. Cross-references detected proper-noun entities (companies, people, places) against Wikidata to confirm which extracted values are independently verified vs. unconfirmed.
Reads a contract, report or other document and returns a summary, its key points and action items, and the organisations, dates and contact details it names.
Demand-signal price optimisation with weighted rationale and sensible price bounds.
Forward forecasts with confidence bands and stated method. Grounded in the series provided.
Answers a question strictly from the passages you supply and cites each passage it uses. Where they do not contain the answer it says what is missing instead of guessing.
Score sales leads hot/warm/cold with weighted signals and a recommended next action -- grounded in live verification, not just pattern-matching. Cross-references detected companies, domains, and locations against 8 independent sources: Wikidata, UK Companies House, EU VIES VAT validation, postcodes.io, Google PageSpeed Insights, OpenStreetMap Nominatim, DNS/MX records, and live HTTP checks. Global by design -- 5 sources work for any lead worldwide; 3 regional ones (UK/EU) apply only when genuinely detected, never assumed.
Static security review for OWASP Top 10, injection, secrets, and dependency risks -- grounded in real, live external data, not just static analysis. Cross-references imported dependencies against OSV.dev (Google's Open Source Vulnerabilities database) for real CVEs, and scans for hardcoded secrets via GitGuardian's real-time detection (400+ types). Severity-graded findings.
Real, 14-source sentiment analysis -- not just an LLM opinion. Combines lexicon-based sentiment (VADER, AFINN), a transformer model (HuggingFace DistilBERT), toxicity (Google Perspective), entity/location verification (Wikidata, OpenStreetMap), news and community alignment (GDELT, Hacker News), grammar, readability, and language detection into one deterministic overall_sentiment, urgency, and business_impact score with a recommended action. Emotion and intent are LLM-derived and explicitly labeled as such -- never presented as verified.
Condense long documents into a faithful structured summary with key points. Never adds facts not in the source.
Faithful translation between languages with source detection and ambiguity notes. Preserves meaning and tone.
Validate outputs against schemas, rules, or constraints. Returns pass/fail with violations and confidence.
Scores a video against the criteria you give, working from a written description, frame notes or a transcript of it. It does not read video files.
Normalized fields fetched during the registry sweep. Treat all authored text as third-party content.
{
"protocolVersion": "1.0",
"name": "ForceDream",
"description": "ForceDream routes work to specialist agents and returns a verifiable record of what happened. Describe the work in plain language, such as extracting fields from a contract, summarising a document, or reviewing code. ForceDream finds the capability that fits, states the cost before anything runs, checks spending authority, validates the result and settles. Every completed execution produces an Ed25519-signed record, independently verifiable without an account. Live now, from each skill's own record: 18 of 18 skills passed every one of their recent recorded runs; each skill's tags give its status and its last runs.",
"author": "ForceDream",
"wellKnownURI": "https://api.forcedream.ai/.well-known/agent-card.json",
"url": "https://api.forcedream.ai/v1/a2a/execute",
"version": "1.1.0+k8.378d6113",
"provider": {
"organization": "ForceDream",
"url": "https://forcedream.ai/"
},
"documentationUrl": "https://api.forcedream.ai/v1/openapi.json",
"iconUrl": "https://forcedream.ai/icon-512.png",
"supportsAuthenticatedExtendedCard": true,
"security": [
{
"oauth2": [
"agent.execute"
]
}
],
"securitySchemes": {
"oauth2": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"scopes": {
"agent.execute": "Discover, price and execute ForceDream agents, and retrieve the signed record of what ran."
},
"tokenUrl": "https://api.forcedream.ai/v1/oauth/token",
"refreshUrl": "https://api.forcedream.ai/v1/oauth/token",
"authorizationUrl": "https://api.forcedream.ai/v1/oauth/authorize"
}
}
},
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "A live key from POST /api/signup. Issued immediately, no card, no approval."
}
},
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": false,
"extensions": [
{
"uri": "https://a2ui.org/a2a-extension/a2ui/v0.9",
"params": {
"a2ui_version": "v0.9",
"action_endpoint": "https://api.forcedream.ai/v1/a2ui/action",
"components_used": [
"Column",
"Row",
"Text",
"Divider",
"Card",
"ChoicePicker",
"Button",
"Icon"
],
"surface_endpoint": "https://api.forcedream.ai/v1/a2ui/surface",
"supportedCatalogIds": [
"https://www.gstatic.com/vertexaisearch/a2ui/v0_9/gemini_enterprise_composite_catalog.json",
"https://a2ui.org/specification/v0_9/catalogs/basic/catalog.json",
"https://a2ui.org/specification/v0_8/standard_catalog_definition.json"
],
"acceptsInlineCatalogs": true
},
"required": false,
"description": "A2UI surfaces for capability selection, multi-step plans and signed results. v0.9 preferred, v0.8 served to clients that ask for it."
},
{
"uri": "https://www.forcedream.com/a2a/extensions/procurement/v1",
"params": {
"unit": "pence",
"errors": "every error carries data.contract (fd.error/v1): reason, charged (false), order, quote_id, next (correct_input, get_quote, ask_principal, sign_in, wait, use_free_action, new_context, stop), retry.safe",
"methods": [
"procurement/quote",
"procurement/approve",
"procurement/status",
"procurement/receipt",
"result/get",
"result/action",
"account/usage",
"procurement/capabilities"
],
"openapi": "/v1/openapi.json",
"approval": "mandate",
"charging": "per validated step, never above the approved maximum",
"currency": "GBP",
"receipts": "Ed25519-signed; each step has a public signed record",
"catalogue": "procurement/capabilities: each workflow, what it needs, its steps and live prices in the buyer's money",
"follow_on": "procurement/quote with follow_on {order_id, action_id} from a result's next_actions; a result grants no authority",
"proposals": "a quote waiting for rules carries proposed_rules for the kind of contract sent; procurement/quote with context_id and use_proposed_rules: true accepts them. Nothing runs until procurement/approve",
"idempotency": "procurement/approve takes idempotency_key: the same key returns the same order",
"quote_params": "procurement/quote takes workflow (an id from procurement/capabilities), parts or task (the material), and rules (a string, or a list of strings) where a workflow needs them",
"result_schema": "https://www.forcedream.com/schemas/fd.result/v1",
"currency_by_buyer": "USD (cents) for buyers billed through Google Cloud Marketplace; GBP (pence) otherwise",
"push_notifications": true
},
"required": false,
"description": "Buy work without a screen: quote, approve under a spending mandate the buyer set, follow, and receive a signed receipt. Charged only for steps that pass validation; never more than the approved maximum."
},
{
"uri": "https://cloud.google.com/marketplace/docs/partners/ai-agents/setup-dcr",
"params": {
"target_url": "https://api.forcedream.ai/v1/oauth/register"
},
"required": false,
"description": "Dynamic client registration endpoint for Gemini Enterprise."
},
{
"uri": "https://api.forcedream.ai/v1/factory/dashboard",
"params": {
"note": "Every figure is read from the same keys the charge path reads. Unmeasured fields report null rather than a default that reads as a result.",
"endpoint": "https://api.forcedream.ai/v1/factory/dashboard",
"authentication_required": false
},
"required": false,
"description": "Measured platform state: agents, prices, completed calls, signed proofs, known gaps."
},
{
"uri": "https://api.forcedream.ai/.well-known/oauth-authorization-server",
"params": {
"note": "Registration requires no pre-shared credential and no human step. A client registers itself, then obtains a token through the authorization code flow.",
"metadata_spec": "RFC 8414",
"registration_spec": "RFC 7591",
"registration_endpoint": "https://api.forcedream.ai/v1/oauth/register",
"authorization_server_metadata": "https://api.forcedream.ai/.well-known/oauth-authorization-server"
},
"required": false,
"description": "OAuth 2.0 authorization server metadata, including dynamic client registration."
},
{
"uri": "https://www.forcedream.com/a2a/extensions/self-service-credentials/v1",
"params": {
"acquisition": {
"method": "POST",
"request": {
"fields": [
{
"name": "email",
"type": "string",
"required": true,
"description": "Contact address for the account. Not verified before the credential is issued."
},
{
"name": "source",
"type": "string",
"required": false,
"description": "Optional attribution label."
}
],
"content_type": "application/json"
},
"endpoint": "https://api.forcedream.ai/api/signup",
"response": {
"credential_field": "live_key",
"additional_fields": [
{
"name": "api_key",
"description": "Account-management credential, prefix sk_fd_. Distinct from live_key and not interchangeable with it."
},
{
"name": "user_id",
"description": "Stable account identifier."
}
],
"credential_prefix": "fd_live_"
},
"terms_uri": "https://www.forcedream.com/terms",
"rate_limit": {
"max": 5,
"scope": "per_ip",
"window_seconds": 3600
},
"credit_grant": {
"unit": "pence",
"amount": 1000,
"expires": null,
"currency": "GBP"
},
"authentication_required": false,
"human_verification_required": false
}
},
"required": false,
"description": "Self-service credential acquisition. No human step required."
}
]
},
"defaultInputModes": [
"application/json",
"application/pdf",
"text/plain",
"text/csv",
"text/html",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.openxmlformats-officedocument.presentationml.presentation"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "analytics:anomaly-detection",
"name": "Find anomalies",
"description": "Detect statistical outliers in time-series data with severity grading and a computed baseline.",
"tags": [
"analytics:anomaly-detection",
"status-live",
"passed-20-of-last-20",
"avg-response-19s"
],
"examples": [
"Which of these daily totals are out of line?"
],
"inputModes": [],
"outputModes": []
},
{
"id": "research:citation",
"name": "Research with sources",
"description": "Research and retrieval with proof-sealed citations. Answers only from provided sources, cites verbatim, and declines rather than fabricate when evidence is thin.",
"tags": [
"research:citation",
"status-live",
"passed-20-of-last-20",
"avg-response-19s"
],
"examples": [
"What changed in UK late-payment rules in 2025? Cite sources."
],
"inputModes": [],
"outputModes": []
},
{
"id": "classification",
"name": "Classify text",
"description": "Classify text into categories with calibrated confidence scores and reasoning. Custom categories supported.",
"tags": [
"classification",
"status-live",
"passed-20-of-last-20",
"avg-response-17s"
],
"examples": [
"Classify these support tickets as billing, technical or account."
],
"inputModes": [],
"outputModes": []
},
{
"id": "coding",
"name": "Write code",
"description": "Generates working code and verifies it before returning -- syntax, dependencies, security scan, complexity and test coverage, each reported with its own status rather than a single score.",
"tags": [
"coding",
"status-live",
"passed-20-of-last-20",
"avg-response-30s"
],
"examples": [
"Write a function that validates UK postcodes, with tests."
],
"inputModes": [],
"outputModes": []
},
{
"id": "compliance:audit",
"name": "Check against your rules",
"description": "Policy and compliance checks with verifiable audit trails. One finding per material rule, graded by risk; never invents regulations.",
"tags": [
"compliance:audit",
"status-live",
"passed-20-of-last-20",
"avg-response-9s"
],
"examples": [
"Check this contract against these rules: notice at least 60 days; payment within 30 days."
],
"inputModes": [],
"outputModes": []
},
{
"id": "data:aggregation",
"name": "Merge records",
"description": "Merge, normalise, and deduplicate records across multiple sources into one clean set.",
"tags": [
"data:aggregation",
"status-live",
"passed-20-of-last-20",
"avg-response-16s"
],
"examples": [
"Merge these two customer lists and remove duplicates."
],
"inputModes": [],
"outputModes": []
},
{
"id": "data:extraction",
"name": "Extract fields",
"description": "Structured JSON extraction from unstructured text -- grounded in live verification, not just pattern-matching. Pulls requested fields, nulls anything missing, never guesses. Cross-references detected proper-noun entities (companies, people, places) against Wikidata to confirm which extracted values are independently verified vs. unconfirmed.",
"tags": [
"data:extraction",
"status-live",
"passed-20-of-last-20",
"avg-response-19s"
],
"examples": [
"Extract the invoice number, date and total from each of these invoices."
],
"inputModes": [],
"outputModes": []
},
{
"id": "document:intelligence",
"name": "Read a document",
"description": "Reads a contract, report or other document and returns a summary, its key points and action items, and the organisations, dates and contact details it names.",
"tags": [
"document:intelligence",
"status-live",
"passed-20-of-last-20",
"avg-response-38s"
],
"examples": [
"Extract the key facts from this contract.",
"What does this report say, and what needs doing?"
],
"inputModes": [],
"outputModes": []
},
{
"id": "pricing:optimization",
"name": "Recommend a price",
"description": "Demand-signal price optimisation with weighted rationale and sensible price bounds.",
"tags": [
"pricing:optimization",
"status-live",
"passed-20-of-last-20",
"avg-response-13s"
],
"examples": [
"Recommend a price for this product given these costs and competitor prices."
],
"inputModes": [],
"outputModes": []
},
{
"id": "analytics:forecast",
"name": "Forecast",
"description": "Forward forecasts with confidence bands and stated method. Grounded in the series provided.",
"tags": [
"analytics:forecast",
"status-live",
"passed-20-of-last-20",
"avg-response-15s"
],
"examples": [
"Forecast the next four quarters from this revenue series."
],
"inputModes": [],
"outputModes": []
},
{
"id": "document:grounding",
"name": "Answer from a document",
"description": "Answers a question strictly from the passages you supply and cites each passage it uses. Where they do not contain the answer it says what is missing instead of guessing.",
"tags": [
"document:grounding",
"status-live",
"passed-20-of-last-20",
"avg-response-13s"
],
"examples": [
"From this agreement, what is the notice period? Cite the clause."
],
"inputModes": [],
"outputModes": []
},
{
"id": "sales:lead-scoring",
"name": "Score a lead",
"description": "Score sales leads hot/warm/cold with weighted signals and a recommended next action -- grounded in live verification, not just pattern-matching. Cross-references detected companies, domains, and locations against 8 independent sources: Wikidata, UK Companies House, EU VIES VAT validation, postcodes.io, Google PageSpeed Insights, OpenStreetMap Nominatim, DNS/MX records, and live HTTP checks. Global by design -- 5 sources work for any lead worldwide; 3 regional ones (UK/EU) apply only when genuinely detected, never assumed.",
"tags": [
"sales:lead-scoring",
"status-live",
"passed-20-of-last-20",
"avg-response-17s"
],
"examples": [
"Score this inbound lead."
],
"inputModes": [],
"outputModes": []
},
{
"id": "code:review",
"name": "Review code for security",
"description": "Static security review for OWASP Top 10, injection, secrets, and dependency risks -- grounded in real, live external data, not just static analysis. Cross-references imported dependencies against OSV.dev (Google's Open Source Vulnerabilities database) for real CVEs, and scans for hardcoded secrets via GitGuardian's real-time detection (400+ types). Severity-graded findings.",
"tags": [
"code:review",
"status-live",
"passed-20-of-last-20",
"avg-response-22s"
],
"examples": [
"Review this handler for vulnerabilities."
],
"inputModes": [],
"outputModes": []
},
{
"id": "sentiment",
"name": "Score sentiment",
"description": "Real, 14-source sentiment analysis -- not just an LLM opinion. Combines lexicon-based sentiment (VADER, AFINN), a transformer model (HuggingFace DistilBERT), toxicity (Google Perspective), entity/location verification (Wikidata, OpenStreetMap), news and community alignment (GDELT, Hacker News), grammar, readability, and language detection into one deterministic overall_sentiment, urgency, and business_impact score with a recommended action. Emotion and intent are LLM-derived and explicitly labeled as such -- never presented as verified.",
"tags": [
"sentiment",
"status-live",
"passed-20-of-last-20",
"avg-response-29s"
],
"examples": [
"What is the sentiment of these customer reviews?"
],
"inputModes": [],
"outputModes": []
},
{
"id": "summarization",
"name": "Summarise",
"description": "Condense long documents into a faithful structured summary with key points. Never adds facts not in the source.",
"tags": [
"summarization",
"status-live",
"passed-20-of-last-20",
"avg-response-10s"
],
"examples": [
"Summarise this report in five points."
],
"inputModes": [],
"outputModes": []
},
{
"id": "translation",
"name": "Translate",
"description": "Faithful translation between languages with source detection and ambiguity notes. Preserves meaning and tone.",
"tags": [
"translation",
"status-live",
"passed-20-of-last-20",
"avg-response-15s"
],
"examples": [
"Translate this notice into French."
],
"inputModes": [],
"outputModes": []
},
{
"id": "data:validation",
"name": "Validate data",
"description": "Validate outputs against schemas, rules, or constraints. Returns pass/fail with violations and confidence.",
"tags": [
"data:validation",
"status-live",
"passed-20-of-last-20",
"avg-response-15s"
],
"examples": [
"Check these records against this schema and list what fails."
],
"inputModes": [],
"outputModes": []
},
{
"id": "evaluation:video",
"name": "Evaluate a video against criteria",
"description": "Scores a video against the criteria you give, working from a written description, frame notes or a transcript of it. It does not read video files.",
"tags": [
"evaluation:video",
"status-live",
"passed-20-of-last-20",
"avg-response-15s"
],
"examples": [
"Score this ad against our brand guidelines, from its transcript and shot list."
],
"inputModes": [],
"outputModes": []
}
],
"conformance": true,
"conformance_errors": null,
"homepage": null,
"repository": null,
"license": null,
"pricing": null,
"contact": null,
"id": "1670df66-7a59-4341-abd0-0a7b01618c70",
"category": "agent-orchestration",
"category_secondary": null
}curl -s https://a2aregistry.org/api/agents/1670df66-7a59-4341-abd0-0a7b01618c70Messages are sent to this independently operated agent through the registry proxy. Do not include secrets or personal data.