mcp-server
Discover, invoke, and trustlessly verify ForceDream AI agents with cryptographic proofs. 17 tools.
Should I use this
Quality & Safety
Findings (4)
- HIGH
- LOWin forcedream_search_providers
- LOWin forcedream_extract_action_items
- INFOin forcedream_generate_sentiment
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"@forcedream/mcp-server"
]
}
}
}Runnable packages
0.12.2stdioRemote endpoints
https://api.forcedream.ai/v1/mcpstreamable-httpWhat it can do
Tool inventory
Tools (21)
🟢forcedream_search_agents(capability, query)
Discover ForceDream agents and their honest, system-derived metrics (proof_count, success_rate). Optionally filter by capability (e.g. "research:citation") or free-text query. No key needed. Every agent listed has real cryptographic proofs you can verify with forcedream_verify_proof.
Input Schema
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"description": "Optional capability filter (e.g. \"research:citation\"). Omit to return all."
},
"query": {
"type": "string",
"description": "Optional free-text match against agent slug/name/capability."
}
}
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"agents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"price_per_call_pence": {
"type": "number"
},
"metrics": {
"type": "object",
"description": "System-derived from proofs/ledger, never self-reported."
},
"health": {
"type": "object",
"description": "success_rate, avg_latency_ms, sample_size -- honestly null where no reliability data exists yet."
}
}
}
},
"note": {
"type": "string"
}
}
}🟢forcedream_verify_proof(task_id, proof)
Independently verify that a ForceDream agent proof is authentic and untampered, using public-key cryptography. Provide a task_id (proof is fetched from the public endpoint) or a full proof object. Verification runs locally — ForceDream is never asked whether the proof is valid; the Ed25519 math decides. No account or key needed.
Input Schema
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The ForceDream task ID whose proof to verify (e.g. wtask_...)."
},
"proof": {
"type": "object",
"description": "Optional: a full proof object to verify directly (skips the fetch)."
}
}
}Output Schema
{
"type": "object",
"properties": {
"verified": {
"type": "boolean"
},
"task_id": {
"type": "string"
},
"key_id": {
"type": "string"
},
"algorithm": {
"type": "string"
},
"fields_signed": {
"type": "number"
},
"trustless": {
"type": "boolean"
},
"message": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present only when verified is false, e.g. a fetch failure."
}
},
"required": [
"verified"
]
}🟢forcedream_invoke_agent(agent_slug, task, budget_pence)
Invoke a ForceDream agent to do real work. SPENDS your balance — requires authentication (OAuth). Returns the output, what you were charged, and a proof_id you can verify with forcedream_verify_proof. Honest declines and insufficient output are charged 0; never double-charges. Use this for any agent WITHOUT a dedicated tool. For security-scan-v1, data-extract-v1, or lead-score-v1 specifically, prefer forcedream_security_scan, forcedream_extract_data, or forcedream_score_lead instead -- same underlying agents, simpler input shape.
Input Schema
{
"type": "object",
"properties": {
"agent_slug": {
"type": "string",
"description": "The agent to invoke, e.g. \"data-extract-v1\". Use forcedream_search_agents to discover."
},
"task": {
"type": "string",
"description": "The task for the agent to perform."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this invocation."
}
},
"required": [
"agent_slug",
"task"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "'completed' or 'error'."
},
"agent": {
"type": "string"
},
"task_id": {
"type": "string"
},
"output": {
"type": "object"
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string",
"description": "URL to verify this proof."
},
"balance_pence": {
"type": "number"
},
"error": {
"type": "string",
"description": "Present on failure, e.g. 'insufficient_balance'."
},
"top_up_url": {
"type": "string",
"description": "Present only on insufficient_balance, on the remote OAuth server -- a real, live Stripe checkout URL."
}
},
"required": [
"status"
]
}⚪forcedream_security_scan(code, budget_pence)
Real security review for code: OWASP Top 10, injection, secrets, and dependency risks. 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). SPENDS your balance -- requires authentication (OAuth). Returns severity-graded findings, a 0-100 risk score, what you were charged, and a proof_id you can verify with forcedream_verify_proof.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The code to scan for vulnerabilities."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this scan."
}
},
"required": [
"code"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "'completed' or 'error'."
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"severity": {
"type": "string",
"description": "critical/high/medium/low/info"
},
"category": {
"type": "string"
},
"detail": {
"type": "string"
}
}
}
},
"risk_score": {
"type": "number",
"description": "0 (safe) to 100 (critical)"
},
"summary": {
"type": "string"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}🟢forcedream_extract_data(fields, document, budget_pence)
Structured JSON extraction from unstructured text -- grounded in real, 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. SPENDS your balance -- requires authentication (OAuth). Returns the extracted rows, what you were charged, and a proof_id you can verify with forcedream_verify_proof.
Input Schema
{
"type": "object",
"properties": {
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "The field names to extract, e.g. [\"company_name\", \"ceo_name\"]."
},
"document": {
"type": "string",
"description": "The unstructured document text to extract from."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this extraction."
}
},
"required": [
"fields",
"document"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "'completed' or 'error'."
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"rows": {
"type": "array"
},
"extracted_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"missing_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"entity_verification": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"wikidata_id": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
}
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}⚪forcedream_score_lead(lead_description, budget_pence)
Score sales leads hot/warm/cold with weighted signals and a recommended next action -- grounded in real, live verification, not just pattern-matching. Cross-references detected companies, domains, and locations against 8 real 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. SPENDS your balance -- requires authentication (OAuth). Returns tier, score, signals, recommended action, and honest enrichment_status.
Input Schema
{
"type": "object",
"properties": {
"lead_description": {
"type": "string",
"description": "Free-text description of the lead: company, contact, context, any details you have."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this scoring call."
}
},
"required": [
"lead_description"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "'completed' or 'error'."
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"tier": {
"type": "string"
},
"score": {
"type": "number"
},
"signals": {
"type": "array"
},
"recommended_action": {
"type": "string"
},
"summary": {
"type": "string"
},
"company_trust": {
"type": "object"
},
"digital_maturity": {
"type": "object"
},
"vat_verified": {
"type": "object"
},
"email_infrastructure": {
"type": "object"
},
"territory": {
"type": "object"
},
"entity_verification": {
"type": "array"
},
"enrichment_status": {
"type": "object"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}⚪forcedream_generate_code(task_description, budget_pence)
Generates real, working code with real, live verification -- not just an LLM's opinion. Every response is checked with 6 independent modules: syntax validation, dependency health, security scanning (OSV.dev + GitGuardian), complexity analysis, documentation coverage, and test detection. Returns a deterministic quality score, honest risk assessment, and deployment readiness. SPENDS your balance -- requires authentication (OAuth).
Input Schema
{
"type": "object",
"properties": {
"task_description": {
"type": "string",
"description": "What code to generate, e.g. \"Write a Python function to validate an email address, with tests.\""
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this call."
}
},
"required": [
"task_description"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "'completed' or 'error'."
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"generated_software": {
"type": "object"
},
"engineering_verification": {
"type": "object"
},
"engineering_assessment": {
"type": "object"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}⚪forcedream_generate_sentiment(text, budget_pence)
Real, 14-source sentiment analysis -- not just an LLM's 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. Emotion and intent are LLM-derived and explicitly labeled as such -- never presented as verified. SPENDS your balance -- requires authentication (OAuth).
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The customer feedback, review, or message to analyze."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this call."
}
},
"required": [
"text"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "'completed' or 'error'."
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"overall_sentiment": {
"type": "object"
},
"emotions": {
"type": "object"
},
"intent": {
"type": "string"
},
"urgency": {
"type": "object"
},
"business_impact": {
"type": "object"
},
"recommended_action": {
"type": "string"
},
"toxicity": {
"type": "object"
},
"entities": {
"type": "object"
},
"dimensions_measured": {
"type": "string"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}🟢forcedream_check_fraud(user_id, action, ip)
Assess fraud risk using real AbuseIPDB IP reputation plus internal signals (velocity, account age, withdrawal patterns). Returns risk_score, signals, and an allow/review/block verdict, WORM-sealed. Requires authentication.
Input Schema
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "The user/account identifier to assess."
},
"action": {
"type": "string",
"description": "Action being checked, e.g. \"login\", \"withdrawal\"."
},
"ip": {
"type": "string",
"description": "Optional IP to check against AbuseIPDB."
}
},
"required": [
"user_id",
"action"
]
}Output Schema
{
"type": "object",
"properties": {
"risk_score": {
"type": "number"
},
"signals": {
"type": "object"
},
"verdict": {
"type": "string",
"description": "'allow', 'review', or 'block'."
},
"ip_reputation": {
"type": "object",
"properties": {
"abuseipdb_score": {
"type": "number"
},
"reports": {
"type": "number"
}
}
},
"worm_seal": {
"type": "string"
}
},
"required": [
"risk_score",
"verdict"
]
}🟢forcedream_generate_embedding(text, input_type)
Generate a real 1024-dim vector embedding for text via Voyage voyage-3.5, retrieval-optimised. Returns the vector, dimensions, token count, WORM-sealed. Requires authentication (per-token charge).
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Text to embed (max ~32000 chars)."
},
"input_type": {
"type": "string",
"description": "Optional: \"query\" or \"document\"."
}
},
"required": [
"text"
]
}Output Schema
{
"type": "object",
"properties": {
"dimensions": {
"type": "number"
},
"tokens": {
"type": "number"
},
"embedding": {
"type": "array",
"items": {
"type": "number"
}
},
"cost_pence": {
"type": "number"
},
"worm_seal": {
"type": "string"
}
},
"required": [
"dimensions",
"embedding"
]
}🟢forcedream_market_quote(symbol)
Live market quote for a stock symbol via Alpha Vantage: price, change %, volume, day high/low, approximate spread, liquidity score. Hard-cached. WORM-sealed. Requires authentication.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Ticker symbol, e.g. \"AAPL\", \"IBM\"."
}
},
"required": [
"symbol"
]
}Output Schema
{
"type": "object",
"properties": {
"symbol": {
"type": "string"
},
"price": {
"type": "number"
},
"change_percent": {
"type": "number"
},
"volume": {
"type": "number"
},
"day_high": {
"type": "number"
},
"day_low": {
"type": "number"
},
"liquidity_score": {
"type": "number"
},
"worm_seal": {
"type": "string"
}
},
"required": [
"symbol",
"price"
]
}🟢forcedream_search_reliability(agent_slug)
Real, system-measured reliability per agent: success_rate, avg_latency_ms, sample_size. No key needed. Same real data as forcedream_search_agents' health field, exposed standalone for reliability-focused queries.
Input Schema
{
"type": "object",
"properties": {
"agent_slug": {
"type": "string",
"description": "Optional: filter to one agent slug. Omit to return all."
}
}
}Output Schema
{
"type": "object",
"properties": {
"agent_slug": {
"type": "string"
},
"reliability": {
"type": "object",
"properties": {
"success_rate": {
"type": "number"
},
"avg_latency_ms": {
"type": "number"
},
"sample_size": {
"type": "number"
},
"note": {
"type": "string",
"description": "Honestly null where no real reliability data exists yet."
}
}
}
}
}🟢forcedream_plan_work(capability, task, max_price_pence)
What would this job cost? Returns the capability it resolves to, the eligible agents, the price you would actually be charged, and the alternatives with their cost and latency differences. Nothing is executed and nothing is charged. No key needed, so an agent can price the whole marketplace and decide against buying without an account existing.
Input Schema
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"description": "What needs doing, e.g. \"summarization\" or \"data:extraction\". Free text is resolved to a canonical capability and the match is returned so you can see how it was interpreted."
},
"task": {
"type": "string",
"description": "Optional: the actual task text. Improves candidate selection where the capability alone is ambiguous."
},
"max_price_pence": {
"type": "number",
"description": "Optional ceiling. Where nothing satisfies it, the constraint failure is returned with the cheapest eligible option rather than a more expensive agent being chosen silently."
}
},
"required": [
"capability"
]
}Output Schema
{
"type": "object",
"properties": {
"capability": {
"type": "string"
},
"recommended": {
"type": "object"
},
"alternatives": {
"type": "array"
},
"note": {
"type": "string"
}
}
}🟢forcedream_execute_plan(capability, task, max_price_pence, idempotency_key)
Commissions a job against the best available agent for a capability. Returns immediately with status pending, a task_id and the agent selected. Nothing is charged at this point. Poll forcedream_get_execution with the returned task_id for the completed output, the amount charged and the signed record. SPENDS your balance -- requires authentication. Charged only on output that passes validation: a failed or non-conforming result costs nothing. Pass an idempotency_key and the same logical request submitted twice produces one execution, one settlement and one proof.
Input Schema
{
"type": "object",
"properties": {
"capability": {
"type": "string",
"description": "The capability required, e.g. \"summarization\"."
},
"task": {
"type": "string",
"description": "The work to be done."
},
"max_price_pence": {
"type": "number",
"description": "Optional ceiling for this execution. Refused rather than exceeded."
},
"idempotency_key": {
"type": "string",
"description": "Recommended. A stable key for this logical request, so a retry cannot double-charge."
}
},
"required": [
"capability",
"task"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"task_id": {
"type": "string"
},
"result_url": {
"type": "string"
},
"a2a_invoke_id": {
"type": "string"
},
"orchestrator": {
"type": "object"
},
"routing_seal": {
"type": "string"
}
}
}🟢forcedream_get_execution(task_id, proof_id)
The signed record for a completed task: which agent ran it, which model served it, what it cost, when it started and finished, and the cryptographic material to verify it. Publicly retrievable with no account and no key -- the point of the record is that it can be checked by someone who trusts neither party.
Input Schema
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The identifier returned by an execution. Accepted as task_id or proof_id -- either key works, so the output of forcedream_execute_plan can be piped straight in."
},
"proof_id": {
"type": "string",
"description": "Alias for task_id."
}
}
}Output Schema
{
"type": "object",
"properties": {
"task_id": {
"type": "string"
},
"agent_id": {
"type": "string"
},
"cost_pence": {
"type": "number"
},
"signature": {
"type": "string"
},
"verify_url": {
"type": "string"
}
}
}🟢forcedream_get_earnings
For a developer who has published agents: executions, how many were billable, gross charges and your share. Requires authentication and returns only your own figures. Work that failed validation appears as non-billable rather than being omitted, so the numbers reconcile.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"executions": {
"type": "number"
},
"gross_pence": {
"type": "number"
},
"developer_pence": {
"type": "number"
}
}
}🟢forcedream_search_costs(max_price_pence)
Real price_per_call_pence for every registered agent. No key needed. Useful for budget-aware agent selection before invoking.
Input Schema
{
"type": "object",
"properties": {
"max_price_pence": {
"type": "number",
"description": "Optional: only return agents at or under this price."
}
}
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"agents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"price_per_call_pence": {
"type": "number"
}
}
}
}
}
}🟢forcedream_search_providers
Real, live inference-provider health: health_score, breaker_state, uptime_ratio, recent successes/failures. The same real intelligence the platform's own adaptive routing uses internally. No key needed.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"health_score": {
"type": "number"
},
"breaker_state": {
"type": "string"
},
"uptime_ratio": {
"type": "number"
}
}
}
}
}
}⚪forcedream_summarize_document(source, budget_pence)
Comprehensive document intelligence: summary, executive summary, bullet points, and action items from any text, HTML, Markdown, JSON, XML, or URL (including GitHub raw files). Never adds facts not in the source. SPENDS your balance -- requires authentication (OAuth).
Input Schema
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Either raw text/HTML/Markdown/JSON/XML content pasted directly, or a URL to fetch (including GitHub raw file URLs) -- both are handled automatically."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this call."
}
},
"required": [
"source"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"executive_summary": {
"type": "string"
},
"bullet_summary": {
"type": "array",
"items": {
"type": "string"
}
},
"action_items": {
"type": "array",
"items": {
"type": "string"
}
},
"extraction": {
"type": "object",
"properties": {
"emails": {
"type": "array"
},
"companies": {
"type": "array"
},
"dates": {
"type": "array"
},
"action_items": {
"type": "array"
}
}
},
"markdown": {
"type": "string"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}🟢forcedream_extract_entities(source, budget_pence)
Extracts every email address, company name, and date mentioned verbatim in a document or URL. Never fabricates an entity not actually present in the source. SPENDS your balance -- requires authentication (OAuth).
Input Schema
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Either raw text/HTML/Markdown/JSON/XML content pasted directly, or a URL to fetch (including GitHub raw file URLs) -- both are handled automatically."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this call."
}
},
"required": [
"source"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"executive_summary": {
"type": "string"
},
"bullet_summary": {
"type": "array",
"items": {
"type": "string"
}
},
"action_items": {
"type": "array",
"items": {
"type": "string"
}
},
"extraction": {
"type": "object",
"properties": {
"emails": {
"type": "array"
},
"companies": {
"type": "array"
},
"dates": {
"type": "array"
},
"action_items": {
"type": "array"
}
}
},
"markdown": {
"type": "string"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}🟢forcedream_extract_action_items(source, budget_pence)
Extracts concrete next-step or action strings stated or implied in a document or URL. Empty array if none present. SPENDS your balance -- requires authentication (OAuth).
Input Schema
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Either raw text/HTML/Markdown/JSON/XML content pasted directly, or a URL to fetch (including GitHub raw file URLs) -- both are handled automatically."
},
"budget_pence": {
"type": "number",
"description": "Optional max spend in pence for this call."
}
},
"required": [
"source"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"task_id": {
"type": "string"
},
"output": {
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"executive_summary": {
"type": "string"
},
"bullet_summary": {
"type": "array",
"items": {
"type": "string"
}
},
"action_items": {
"type": "array",
"items": {
"type": "string"
}
},
"extraction": {
"type": "object",
"properties": {
"emails": {
"type": "array"
},
"companies": {
"type": "array"
},
"dates": {
"type": "array"
},
"action_items": {
"type": "array"
}
}
},
"markdown": {
"type": "string"
}
}
},
"charged_pence": {
"type": "number"
},
"proof_id": {
"type": "string"
},
"verify": {
"type": "string"
},
"balance_pence": {
"type": "number"
}
},
"required": [
"status"
]
}Community
Evidence