Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Meta Council

REMOTE · META-COUNCIL.COM · SCANNED SEP 22

Multi-expert decision intelligence with transparent synthesis and auditable workflows.

Available components

0 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability67
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 24424 tokens (~136/item across 179 items; 179 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
  • Stability check failed: schema churn in the 30 days we've observed: 0 tool removals, 150 breaking changes, 0 auth/transport breaks, 29 additions. See how to fix → Fail
Tool Coverage83
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 41% of tool parameters carry a description.Partial
  • Structured output schemas are declared (6% of tools); any adoption earns full credit.Pass
Tool Safety97
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 7 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_saved_view" implies "execute" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 180 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Meta Council MCP server?

Meta Council is a hosted endpoint at https://meta-council.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · meta-council.com

# add to Claude Code
claude mcp add --transport http com-meta-council-decision-intelligence 'https://meta-council.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-meta-council-decision-intelligence": {
      "url": "https://meta-council.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-meta-council-decision-intelligence": {
      "type": "http",
      "url": "https://meta-council.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-meta-council-decision-intelligence]
url = "https://meta-council.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-meta-council-decision-intelligence": {
      "type": "remote",
      "url": "https://meta-council.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-meta-council-decision-intelligence --url 'https://meta-council.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-meta-council-decision-intelligence:
    url: "https://meta-council.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-meta-council-decision-intelligence": {
      "Transport": "http",
      "Url": "https://meta-council.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-meta-council-decision-intelligence -t streamable-http -u 'https://meta-council.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-meta-council-decision-intelligence": {
      "type": "http",
      "url": "https://meta-council.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Sept 26 0
    • Tool “create_scope_baseline” rewrote its description, which is the text the model reads security
    • Tool “get_scope_baseline” rewrote its description, which is the text the model reads security
    • Tool “get_ticket_burndown” rewrote its description, which is the text the model reads security
    • Tool “get_workflow_session” rewrote its description, which is the text the model reads security
    • Tool “run_workflow” rewrote its description, which is the text the model reads security
    • Tool “ticket_get” rewrote its description, which is the text the model reads security
    • The server now declares the “resources” capability functional
    • Server version: 2.6.0 → 2.11.0 functional
    • New tool “get_delivery_timeline” functional
    • New tool “get_feature_delivery_summary” functional
    • New tool “get_ticket_attention_policy” functional
    • New tool “get_ticket_attention_queue” functional
    • New tool “get_ticket_attention_review” functional
    • New tool “get_ticket_delivery_plan” functional
    • New tool “get_ticket_label_cohort” functional
    • New tool “get_ticket_label_history” functional
    • New tool “list_ticket_delivery_plan_history” functional
    • New tool “save_ticket_attention_policy” functional
    • New tool “save_ticket_attention_review” functional
    • New tool “save_ticket_delivery_plan” functional
    • New tool “ticket_comments” functional
    • “get_ticket_burndown” added an optional parameter “baseline_id” cosmetic
  • 21 Sept 26 0
    • Tool “execute_saved_view” rewrote its description, which is the text the model reads security
    • Tool “list_saved_views” rewrote its description, which is the text the model reads security
    • Server version: 2.5.0 → 2.6.0 functional
    • New tool “compare_scope_baseline” functional
    • New tool “create_scope_baseline” functional
    • New tool “get_scope_baseline” functional
    • New tool “list_scope_baselines” functional
    • New tool “plan_council” functional
    • “list_saved_views” added an optional parameter “cursor” cosmetic
    • “list_saved_views” reworded the description of “limit” cosmetic
  • 15 Sept 26 −7
    • Stability: pass → fail security
    • A breaking change shipped without a version bump: still 2.5.0 security
    • Tool “create_workflow_template” rewrote its description, which is the text the model reads security
    • Tool “update_workflow_template” rewrote its description, which is the text the model reads security
    • Tool coverage: 100% → 6% functional
    • Tool “account_export” dropped its output schema functional
    • Tool “add_invoice_line_item” dropped its output schema functional
    • Tool “add_outreach_lead” dropped its output schema functional
    • Tool “advance_workflow” dropped its output schema functional
    • Tool “approve_consulting_deliverable” dropped its output schema functional
    • Tool “approve_consulting_document_revision” dropped its output schema functional
    • Tool “approve_content_asset” dropped its output schema functional
    • Tool “archive_saved_view” dropped its output schema functional
    • Tool “ask_legal” dropped its output schema functional
    • Tool “assign_leads_to_campaign” dropped its output schema functional
    • Tool “audit_export” dropped its output schema functional
    • Tool “campaign_pipeline_stats” dropped its output schema functional
    • Tool “complete_sales_task” dropped its output schema functional
    • Tool “convert_deal_to_invoice” dropped its output schema functional
    • Tool “convert_lead_to_deal” dropped its output schema functional
    • Tool “create_accounting_run” dropped its output schema functional
    • Tool “create_consulting_client” dropped its output schema functional
    • Tool “create_consulting_deliverable” dropped its output schema functional
    • Tool “create_consulting_document_revision” dropped its output schema functional
    • Tool “create_consulting_engagement” dropped its output schema functional
    • Tool “create_content_asset” dropped its output schema functional
    • Tool “create_content_asset_revision” dropped its output schema functional
    • Tool “create_deal” dropped its output schema functional
    • Tool “create_invoice” dropped its output schema functional
    • Tool “create_marketing_audience” dropped its output schema functional
    • Tool “create_marketing_brand” dropped its output schema functional
    • Tool “create_marketing_campaign” dropped its output schema functional
    • Tool “create_monitor” dropped its output schema functional
    • Tool “create_outreach_campaign” dropped its output schema functional
    • Tool “create_outreach_pitch” dropped its output schema functional
    • Tool “create_portfolio_snapshot” dropped its output schema functional
    • Tool “create_portfolio_snapshot_note” dropped its output schema functional
    • Tool “create_saved_view” dropped its output schema functional
    • Tool “create_workflow_template” dropped its output schema functional
    • Tool “decide_approval” dropped its output schema functional
    • Tool “delete_accounting_run” dropped its output schema functional
    • Tool “delete_monitor” dropped its output schema functional
    • Tool “delete_saved_view” dropped its output schema functional
    • Tool “delete_workflow_template” dropped its output schema functional
    • Tool “diff_portfolio_snapshots” dropped its output schema functional
    • Tool “draft_outreach_email” dropped its output schema functional
    • Tool “estimate_cost” dropped its output schema functional
    • Tool “execute_saved_view” dropped its output schema functional
    • Tool “get_accounting_run” dropped its output schema functional
    • Tool “get_agent_detail” dropped its output schema functional
    • Tool “get_api_key_info” dropped its output schema functional
    • Tool “get_consulting_engagement” dropped its output schema functional
    • Tool “get_content_asset” dropped its output schema functional
    • Tool “get_content_calendar” dropped its output schema functional
    • Tool “get_deal” dropped its output schema functional
    • Tool “get_deal_health” dropped its output schema functional
    • Tool “get_invoice” dropped its output schema functional
    • Tool “get_invoice_aging” dropped its output schema functional
    • Tool “get_marketing_audience” dropped its output schema functional
    • Tool “get_marketing_brand” dropped its output schema functional
    • Tool “get_marketing_campaign” dropped its output schema functional
    • Tool “get_meta_council_platform_metrics” dropped its output schema functional
    • Tool “get_portfolio_snapshot” dropped its output schema functional
    • Tool “get_sales_analytics” dropped its output schema functional
    • Tool “get_sales_recommendations” dropped its output schema functional
    • Tool “get_saved_view” dropped its output schema functional
    • Tool “get_session” dropped its output schema functional
    • Tool “get_settings” dropped its output schema functional
    • Tool “get_site_analytics” dropped its output schema functional
    • Tool “get_ticket_burndown” dropped its output schema functional
    • Tool “get_ticket_projects” dropped its output schema functional
    • Tool “get_visualization” dropped its output schema functional
    • Tool “get_workflow_session” dropped its output schema functional
    • Tool “get_workspace_metrics” dropped its output schema functional
    • Tool “initialize_consulting_milestones” dropped its output schema functional
    • Tool “list_accounting_runs” dropped its output schema functional
    • Tool “list_agents” dropped its output schema functional
    • Tool “list_approvals” dropped its output schema functional
    • Tool “list_campaign_replies” dropped its output schema functional
    • Tool “list_campaign_triggers” dropped its output schema functional
    • Tool “list_consulting_clients” dropped its output schema functional
    • Tool “list_consulting_engagements” dropped its output schema functional
    • Tool “list_content_assets” dropped its output schema functional
    • Tool “list_deals” dropped its output schema functional
    • Tool “list_integrations” dropped its output schema functional
    • Tool “list_invoices” dropped its output schema functional
    • Tool “list_marketing_audiences” dropped its output schema functional
    • Tool “list_marketing_brands” dropped its output schema functional
    • Tool “list_marketing_campaigns” dropped its output schema functional
    • Tool “list_meta_council_feedback” dropped its output schema functional
    • Tool “list_monitors” dropped its output schema functional
    • Tool “list_outreach_campaigns” dropped its output schema functional
    • Tool “list_panels” dropped its output schema functional
    • Tool “list_portfolio_snapshot_notes” dropped its output schema functional
    • Tool “list_portfolio_snapshots” dropped its output schema functional
    • Tool “list_sales_tasks” dropped its output schema functional
    • Tool “list_saved_views” dropped its output schema functional
    • Tool “list_workflows” dropped its output schema functional
    • Tool “locus_determine_from_scores” dropped its output schema functional
    • Tool “log_deal_activity” dropped its output schema functional
    • Tool “mark_invoice_paid” dropped its output schema functional
    • Tool “mint_child_api_key” dropped its output schema functional
    • Tool “outreach_analytics” dropped its output schema functional
    • Tool “plan_workflow” dropped its output schema functional
    • Tool “preview_accounting_ticket_sync” dropped its output schema functional
    • Tool “recommend_panel” dropped its output schema functional
    • Tool “reject_content_asset” dropped its output schema functional
    • Tool “reopen_consulting_deliverable” dropped its output schema functional
    • Tool “restore_saved_view” dropped its output schema functional
    • Tool “retry_workflow” dropped its output schema functional
    • Tool “rotate_api_key” dropped its output schema functional
    • Tool “run_council” dropped its output schema functional
    • Tool “run_workflow” dropped its output schema functional
    • Tool “score_locus_case” dropped its output schema functional
    • Tool “search_outreach_leads” dropped its output schema functional
    • Tool “send_invoice” dropped its output schema functional
    • Tool “share_saved_view” dropped its output schema functional
    • Tool “submit_consulting_deliverable” dropped its output schema functional
    • Tool “submit_content_asset” dropped its output schema functional
    • Tool “submit_meta_council_feedback” dropped its output schema functional
    • Tool “sync_accounting_tickets” dropped its output schema functional
    • Tool “test_workflow_step” dropped its output schema functional
    • Tool “ticket_archive” dropped its output schema functional
    • Tool “ticket_batch_create” dropped its output schema functional
    • Tool “ticket_claim” dropped its output schema functional
    • Tool “ticket_comment” dropped its output schema functional
    • Tool “ticket_create” dropped its output schema functional
    • Tool “ticket_dependency_add” dropped its output schema functional
    • Tool “ticket_dependency_list” dropped its output schema functional
    • Tool “ticket_dependency_remove” dropped its output schema functional
    • Tool “ticket_get” dropped its output schema functional
    • Tool “ticket_list” dropped its output schema functional
    • Tool “ticket_plan” dropped its output schema functional
    • Tool “ticket_readiness” dropped its output schema functional
    • Tool “ticket_scenario_create” dropped its output schema functional
    • Tool “ticket_scenario_list” dropped its output schema functional
    • Tool “ticket_scenario_revise” dropped its output schema functional
    • Tool “ticket_update” dropped its output schema functional
    • Tool “ticket_validation_finalize” dropped its output schema functional
    • Tool “triage_meta_council_feedback” dropped its output schema functional
    • Tool “unshare_saved_view” dropped its output schema functional
    • Tool “update_consulting_client” dropped its output schema functional
    • Tool “update_consulting_deliverable” dropped its output schema functional
    • Tool “update_consulting_document_revision” dropped its output schema functional
    • Tool “update_consulting_engagement” dropped its output schema functional
    • Tool “update_consulting_milestone” dropped its output schema functional
    • Tool “update_content_asset” dropped its output schema functional
    • Tool “update_deal” dropped its output schema functional
    • Tool “update_invoice” dropped its output schema functional
    • Tool “update_marketing_audience” dropped its output schema functional
    • Tool “update_marketing_brand” dropped its output schema functional
    • Tool “update_marketing_campaign” dropped its output schema functional
    • Tool “update_outreach_lead_status” dropped its output schema functional
    • Tool “update_saved_view” dropped its output schema functional
    • Tool “update_workflow_template” dropped its output schema functional
    • Tool “void_invoice” dropped its output schema functional
    • “advance_workflow” added an optional parameter “expected_execution_seq” cosmetic
    • “advance_workflow” added an optional parameter “expected_step_id” cosmetic
  • 11 Sept 26 0
    • Tool “create_accounting_run” rewrote its description, which is the text the model reads security
    • New tool “get_business_suite_overview” functional
    • “create_accounting_run” added an optional parameter “duplicate_resolutions” cosmetic
    • “plan_workflow” added an optional parameter “step_models” cosmetic
    • “run_workflow” added an optional parameter “step_models” cosmetic
  • 10 Sept 26 0

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

    • Tool “create_accounting_run” rewrote its description, which is the text the model reads security
    • “convert_lead_to_deal” reworded the description of “currency” cosmetic
    • “create_deal” reworded the description of “currency” cosmetic
    • “create_invoice” reworded the description of “currency” cosmetic
  • 26 Aug 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

  • 25 Aug 26 +1

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

  • 24 Aug 26 86

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Probed https://meta-council.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=meta-council.com CN=YE1,O=Let's Encrypt,C=US 25 Jul 2026 23 Oct 2026 ECDSA 256 ECDSA-SHA384 67d6b0bfd327a02a47bbae22d691b7df572
SANs: *.meta-council.com, meta-council.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of meta-council.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
meta-council.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="meta-council"

Bearer realm="meta-council"
Header Value
strict-transport-security max-age=31536000; includeSubDomains
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://challenges.cloudflare.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-src https://js.stripe.com https://hooks.stripe.com https://challenges.cloudflare.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; object-src 'none'; upgrade-insecure-requests
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy accelerometer=(), browsing-topics=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=(), midi=(), serial=()

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://meta-council.com/mcp Verified 200
http (plaintext) http://meta-council.com/mcp HTTPS enforced 301 https://meta-council.com/mcp
MCP tools · 179 exposed · ~24,350 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
account_export ~281

Export this account's own data across every table the account owns, as the same JSON envelope the REST route returns. The set of tables served is derived from the same ownership reflection that decides what an account deletion removes, so a table the account can destroy is a table it can also read. Credentials never appear: columns held encrypted at rest are withheld unless recorded as the account's own content, and password hashes, reset and verification tokens, and API key hashes are withheld by name. Some tables are deliberately excluded -- see docs/ACCOUNT_DATA_EXPORT.md, and note that the coverage block on every response lists exactly which models are served and which are excluded with their reasons. Artifacts are described by their metadata rows rather than inlined. Bounded rather than streamed: each model reports truncated and the envelope reports complete, so narrow to one model and raise rows_per_model rather than re-reading everything. This is a data export, not an erasure request and not a claim of regulatory compliance. Requires authentication and the account:export scope.

NameTypeReqDescription
modelsarrayModel names to narrow to, which is how a caller pages a table that truncated without re-reading the others. Omit to export every model the coverage block lists as served.
rows_per_modelintegerRow ceiling applied to each model separately. Defaults to 500, maximum 5000.

No output schema declared.

No examples provided.

add_invoice_line_item ~74

Add a billable line item to a draft or sent invoice; totals are recomputed automatically. Blocked once paid/void. invoice_id is required.

NameTypeReqDescription
descriptionstringyes
invoice_idstringyes
quantitynumberDefault 1.
unit_pricenumberyes

No output schema declared.

No examples provided.

add_outreach_lead ~125

Add a single lead to the authenticated user's outreach book. Returns the new lead id. Provenance is stamped source="agent" server-side. Does not send any email. Requires authentication.

NameTypeReqDescription
companystringOptional company name.
contact_namestringOptional contact full name.
contact_titlestringOptional contact job title.
domainstringOptional company domain.
emailstringyesLead email address (required).
notesstringOptional free-text notes.
segmentstringOptional segment label.

No output schema declared.

No examples provided.

advance_workflow ~142

Advance a workflow past a human checkpoint — approve or reject the paused step so the pipeline continues. Use the session id from run_workflow / get_workflow_session. Requires authentication.

NameTypeReqDescription
actionstringyesExplicit checkpoint decision: 'approve' or 'reject'.
expected_execution_seqintegerFor routed workflows, the paused result execution_seq returned by get_workflow_session.
expected_step_idstringFor routed workflows, the paused result step_id returned by get_workflow_session.
notesstringOptional reviewer notes recorded with the decision.
session_idstringyesThe workflow session id (must be awaiting a checkpoint).

No output schema declared.

No examples provided.

approve_consulting_deliverable ~63

Approve one submitted internal deliverable and record approver evidence. Requires consulting:approve and never publishes or sends it.

NameTypeReqDescription
deliverable_idstringyes
expected_content_hashstringyes
expected_versionintegeryes

No output schema declared.

No examples provided.

approve_consulting_document_revision ~62

Approve and lock one exact proposal/SOW revision. Requires the separate consulting:approve scope and never publishes or shares it.

NameTypeReqDescription
document_idstringyes
expected_content_hashstringyes
expected_versionintegeryes

No output schema declared.

No examples provided.

approve_content_asset ~55

Approve a submitted owned revision and attest to its exact content hash. Requires marketing:approve, separate from draft authority.

NameTypeReqDescription
asset_idstringyesFull UUID from the matching list tool.
notesstring

No output schema declared.

No examples provided.

archive_saved_view ~116

Retire one of YOUR OWN saved views without destroying it: it drops out of the default listing and execute_saved_view refuses it, but its definition is kept and restore_saved_view brings it back unchanged. Prefer this over delete_saved_view. Idempotent -- archiving twice keeps the original archive time. Archiving is your own working state and does not hide the view from a team it is shared with. Requires authentication and the tickets:write scope.

NameTypeReqDescription
view_idstringyesThe view's id, from list_saved_views.

No output schema declared.

No examples provided.

ask_legal ~422

Request fixed legacy Themis source/citation records and attach a proposed Laws & Regulations agent/source/synthesis plan whose routes are planned_not_run. Check the law uses fixed legacy provider-record retrieval, but returned records do not prove exact citation identity, relevance, authority, or corpus coverage. Generated research requires authentication, exact THEMIS_NEUTRAL_SCHEMA_VERSION=themis_neutral_research/v1, the operator gate, a verified authenticated corpus manifest, and an atomic spend reservation. The manifest verifier is not available yet, so generated mode remains disabled. Provider assertions/gaps are enum codes linked to evidence whose quote-fidelity state is provider-reported and rendered with fixed server text; any legacy verdict or answer prose is withheld. Returns legal_evidence_graph/v1. Automated research only, not legal advice. Requires legal:run.

NameTypeReqDescription
contextstringOptional factual context; treated as unverified input. The normalized question plus context must fit 2,000 characters total.
domainsarrayOptional domain hints such as OSHA, building_codes, or sports_regulation.
jurisdictionstringRequest hint forwarded to the legacy provider; it does not prove corpus coverage.
max_sectionsintegerOptional maximum number of provider-returned source/citation records.
model_overridesobjectOptional model-id overrides for proposed, unexecuted agent routes.
qualitystringPolicy for proposed, unexecuted model-quality and reasoning-effort routes.
questionstringyesLaws or regulations research question (no credentials or secrets). After normalized context is appended, the combined provider question must fit 2,000 characters.
reasoning_effort_overridesobjectOptional effort overrides for proposed, unexecuted agent routes.
requested_agentsarrayUp to seven catalog agent additions for the proposed plan; one of the eight total agent slots is reserved for its baseline agent.
research_modestringFixed legacy provider-record retrieval or an explicit request for fail-closed, neutral Themis generation.

No output schema declared.

No examples provided.

assign_leads_to_campaign ~85

Assign one or more of the user's existing leads to one of the user's campaigns (both must be owned by the caller). Returns how many were assigned. Idempotent. Requires authentication.

NameTypeReqDescription
campaign_idstringyesTarget campaign id (from list_outreach_campaigns).
lead_idsarrayyesLead ids to assign (from search_outreach_leads).

No output schema declared.

No examples provided.

audit_export ~283

Export this workspace's own agent-action audit trail as structured events, oldest first, for loading into a SIEM. Each event carries what triggered the action, which identity authorized it, which resource was touched, the outcome, and the error state. Metadata only -- no prompt text, document content, tool arguments, or model output is ever returned. Filter by date range and event action; page forward with the cursor each response returns. Covers a documented subset of platform activity rather than every action: see docs/WORKSPACE_AUDIT_EXPORT.md, and note that the coverage block on every response lists exactly which actions are exportable and which are not. Requires authentication and the audit:read scope.

NameTypeReqDescription
actionstringExact event action to filter to, for example mcp.tool_call. Omit to return every action this workspace can export.
after_idintegerResume cursor. Pass the next_cursor from the previous page to continue without re-reading it.
limitintegerEvents per page. Defaults to 100, maximum 500.
sincestringISO-8601 lower bound, inclusive, for example 2026-08-01T00:00:00Z. Omit for no lower bound.
untilstringISO-8601 upper bound, inclusive. Omit for no upper bound.

No output schema declared.

No examples provided.

campaign_pipeline_stats ~56

Pipeline-stage breakdown for one outreach campaign — total / sent / active / won / lost, reply rate, and per-stage lead counts. Requires authentication.

NameTypeReqDescription
campaign_idstringyesCampaign UUID (from list_outreach_campaigns).

No output schema declared.

No examples provided.

compare_scope_baseline ~48

Compare an owned baseline with current scope, estimates and completion. Deleted/moved tickets remain visible; unknown estimates are not zero. Requires tickets:read.

NameTypeReqDescription
baseline_idstringyes

No output schema declared.

No examples provided.

complete_sales_task ~65

Mark one of the caller's sales tasks/activities done (or reopen it with done=false). Stamps or clears the completion time; activity_id is required.

NameTypeReqDescription
activity_idstringyes
donebooleanDefault true (complete). Pass false to reopen.

No output schema declared.

No examples provided.

convert_deal_to_invoice ~116

Create a draft invoice from one of the caller's deals: one line item for the deal's amount, client_name defaulted from the deal's company/title. deal_id is required.

NameTypeReqDescription
client_emailstring
client_namestringDefaults to the deal's company or title.
deal_idstringyes
due_datestringISO date YYYY-MM-DD.
notesstring
payment_termsstring
tax_ratenumber

No output schema declared.

No examples provided.

convert_lead_to_deal ~150

Convert an owned outreach lead into a deal and advance the lead into the deal stage of the funnel (never downgrading an already-closed lead). Optional deal fields mirror create_deal; lead_id is required.

NameTypeReqDescription
amountnumber
companystring
currencystringExactly three ASCII letters, such as USD; saved uppercase. Omit for USD. Syntax only, not an ISO registry.
expected_close_datestringISO date YYYY-MM-DD.
lead_idstringyes
notesstring
probabilityinteger
stagestring
titlestring

No output schema declared.

No examples provided.

create_accounting_run ~3,830

Analyze supported textual accounting records with the pinned deterministic Writeoff engine and create a private, encrypted audit run owned by the caller. Accepted filenames end in .txt, .md, .text, .eml, .csv, .ofx, .qfx, or .qif. Returns estimates for review only: it does not file taxes, move money, or send data to an external accounting service. Send prepared rows, not raw document text. Pasting the output of a PDF-to-text converter does not fail loudly. Read verbatim as .txt, .text or .md, the whole paste collapses to exactly ONE entry, and that entry's figure can be a real number from the page that is not a charge at all: a statement with no footer total books its running BALANCE as spend. Stripping the page headers and the balance column does not change that; a genuinely empty paste raises instead. Convert each document into canonical CSV first: a Date,Description,Amount header, then one row per economic event. The Description column carrying the merchant name alone is the cleanest form, and prose is not merely untidy -- it CHANGES the answer. The matcher runs over the whole description against a vocabulary that holds ordinary words as well as vendor names: paper, printer, ink, notebook, legal, consulting, subscription, hosting and domain each classify alone with no vendor present, and contact lens or reading glasses classify as a MEDICAL deduction. A memo line saying what was bought can therefore create a deduction the vendor name alone would not. Send the merchant, not a description of the purchase. Not every phrase matches -- weekly grocery run, haircut and banana all stay unclassified -- but plain English is not inert. Classification is separately gated by context_text, but that gate is PARTIAL, not an off switch. Leaving it empty suppresses only the rules that need a business to exist: business, meals, vehicle and home-office. The personal rules stay live whatever you send -- a bare contact lens still classifies with context_text empty, under the categor…

NameTypeReqDescription
contextstringOptional business/tax context used by the deterministic engine.
documentsarrayyes1-50 documents of prepared text. PDFs and other binaries are rejected at the byte-validation boundary by design, so extract text on the client and send canonical Date,Description,Amount,Type rows. St…
duplicate_resolutionsarrayReplacement reviewed duplicate decisions for this new run; omit or use [] to leave candidates pending.
marginal_ratestringOptional decimal or percent, for example 0.24 or 24%.
namestringOptional private label for this audit run. Name it for the entity and tax year it covers, for example 'Example, LLC 2024'.

No output schema declared.

No examples provided.

create_consulting_client ~70

Create an account-private consulting client.

NameTypeReqDescription
contact_emailstring
contact_namestring
external_refstring
namestringyes
notesstring
organizationstring
statusstring

No output schema declared.

No examples provided.

create_consulting_deliverable ~69

Create an internal draft deliverable on an owned engagement.

NameTypeReqDescription
descriptionstring
due_datestring
engagement_idstringyes
keystringyes
milestone_idstring
titlestringyes

No output schema declared.

No examples provided.

create_consulting_document_revision ~64

Create a revision-safe proposal or SOW draft on an owned engagement.

NameTypeReqDescription
bodystringyes
engagement_idstringyes
expected_latest_revisioninteger
kindstringyes
titlestringyes

No output schema declared.

No examples provided.

create_consulting_engagement ~94

Create an engagement for an owned consulting client.

NameTypeReqDescription
accounting_run_refstring
client_idstringyes
external_refstring
objectivestring
sales_deal_refstring
start_datestring
statusstring
target_end_datestring
titlestringyes

No output schema declared.

No examples provided.

create_content_asset ~83

Create a private draft content asset. There is no publish/send operation.

NameTypeReqDescription
asset_typestring
campaign_idstringyesFull UUID from the matching list tool.
channelstring
contentstringyes
revision_notesstring
scheduled_forstring
titlestringyes

No output schema declared.

No examples provided.

create_content_asset_revision ~86

Create a new owned draft revision from a frozen submitted/approved/rejected revision.

NameTypeReqDescription
asset_idstringyesFull UUID from the matching list tool.
asset_typestring
channelstring
contentstring
revision_notesstring
scheduled_forstring
titlestring

No output schema declared.

No examples provided.

create_deal ~194

Create a sales deal owned by the caller. Provide a title, or a lead_id to inherit the lead's company/name as the title. The deal appears live on the owner's Sales board. No deletes are exposed over MCP.

NameTypeReqDescription
amountnumberDeal value (>= 0).
campaign_idstringLink to an owned campaign.
companystring
currencystringExactly three ASCII letters, such as USD; saved uppercase. Omit for USD. Syntax only, not an ISO registry.
expected_close_datestringISO date YYYY-MM-DD.
lead_idstringLink to an existing owned lead.
notesstring
probabilityintegerWin probability 0-100.
stagestringPipeline stage (default qualification).
titlestringDeal title (required unless lead_id is given).

No output schema declared.

No examples provided.

create_invoice ~192

Create a draft invoice owned by the caller for a client, optionally seeded with line items and linked to an existing deal. Totals (subtotal/tax/total) are computed from the line items and tax_rate. The invoice starts in status 'draft' — call send_invoice to mark it sent.

NameTypeReqDescription
client_emailstring
client_namestringyes
currencystringThree ASCII letters; normalized to uppercase (default USD). ISO membership is not checked.
deal_idstringOptional: link to an owned deal.
due_datestringISO date YYYY-MM-DD.
line_itemsarray
notesstring
payment_termsstringe.g. 'Net 30', 'Due on receipt'.
tax_ratenumberPercentage, e.g. 8.5 for 8.5%.

No output schema declared.

No examples provided.

create_marketing_audience ~48

Create an owner-private reusable audience definition.

NameTypeReqDescription
channelsarray
descriptionstring
namestringyes
pain_pointsstring

No output schema declared.

No examples provided.

create_marketing_brand ~53

Create an owner-private brand identity. Requires marketing:agent_write.

NameTypeReqDescription
guidelinesstring
namestringyes
value_propositionstring
voicestring

No output schema declared.

No examples provided.

create_marketing_campaign ~99

Create an owner-private marketing campaign linked only to owned brand/audience ids.

NameTypeReqDescription
audience_idstringFull UUID from the matching list tool.
brand_idstringFull UUID from the matching list tool.
channelsarray
ends_onstring
namestringyes
objectivestring
starts_onstring
statusstring

No output schema declared.

No examples provided.

create_monitor ~270

Save a standing watch that fires later, on its own: when a count you name crosses a line you set, do the thing you chose. Lets an agent bank a condition and stop polling for it. The watch survives the conversation that created it. Note that start_workflow spends the account's credits unattended each time it fires, so the cooldown is the only thing bounding what it costs. Requires authentication, a Pro or Enterprise account, and the monitors:write scope.

NameTypeReqDescription
actionstringyesWhat to do when the condition holds.
action_configobjectSettings for the chosen action. start_workflow needs workflow_slug; notify_slack needs message.
comparatorstringyesHow the count is compared against threshold.
cooldown_secondsintegerMinimum gap between firings. Defaults to 3600. Values below one scheduler tick are raised to 60, and the stored value reflects that.
namestringyesHuman label for the watch, e.g. 'Backlog over 50'.
status_filterstringOptional: count only rows in this status, e.g. 'todo'. Omit to count them all.
subjectstringyesWhich of your counts to watch.
thresholdintegeryesThe line the count must cross.

No output schema declared.

No examples provided.

create_outreach_campaign ~111

Create a new outreach campaign owned by the authenticated user. Returns the new campaign id. Reversible (campaigns can be edited/deleted in the dashboard). Requires authentication.

NameTypeReqDescription
descriptionstringOptional description.
namestringyesCampaign name (required).
statusstringOptional initial status: draft (default) | active | paused | completed.
target_audiencestringOptional target-audience note.
target_segmentstringOptional target segment label.

No output schema declared.

No examples provided.

create_outreach_pitch ~133

Create a reusable pitch template (subject + body templates, optional drafting prompt) owned by the user. Provenance is stamped source="agent" server-side. Returns the new pitch id. Requires authentication.

NameTypeReqDescription
body_templatestringyesEmail-body template (required).
categorystringOptional category label.
namestringyesPitch name (required).
promptstringOptional AI drafting instruction.
subject_templatestringyesSubject-line template (required).
target_segmentstringOptional target segment label.
tonestringOptional tone (default 'professional').

No output schema declared.

No examples provided.

create_portfolio_snapshot ~143

Capture an immutable rollup of YOUR OWN ticket portfolio as it stands right now -- totals by status and priority, fixed at this moment and never recomputed. A snapshot is the durable 'here is where we were' that a later diff_portfolio_snapshots measures movement against, so capture one before a review rather than after. Snapshots cannot be edited or deleted once taken. The snapshot records the credential that captured it, so one taken by an agent is attributable as such. Requires authentication and the tickets:write scope.

NameTypeReqDescription
labelstringOptional human label, e.g. the review it was taken for. Omitted leaves the snapshot unlabelled.

No output schema declared.

No examples provided.

create_portfolio_snapshot_note ~190

Record a decision or comment against one of YOUR OWN portfolio snapshots. Pass expected_content_hash -- the hash you saw when you read the snapshot -- and a mismatch is REFUSED rather than quietly filed against a different revision; that check is the point of this tool. Omitting it still records the note, it just does not assert which revision was on the screen. This writes down what was decided; it does not approve, reject or block anything, and nothing downstream gates on it. Requires authentication and the tickets:write scope.

NameTypeReqDescription
bodystringyesWhat was decided or observed.
expected_content_hashstringThe snapshot's content_hash as you read it. A mismatch is refused.
kindstringWhether this records a decision or an ordinary comment. Defaults to comment.
snapshot_idstringyesThe snapshot's id, from list_portfolio_snapshots.

No output schema declared.

No examples provided.

create_saved_view ~193

Save a named ticket filter, column, grouping and sort bundle so you can reopen it later or share it with a team. Saves the QUESTION, not an answer: the view is re-run against live tickets every time it is opened, so it never goes stale. The new view is private until you share it. Same endpoint the web app's save button uses. Requires authentication and the tickets:write scope.

NameTypeReqDescription
columnsarrayyesWhich ticket columns the view shows, in order. At most 20.
filtersobjectWhich tickets the view selects. Same filter vocabulary the ticket list accepts; omitted filters are unset.
group_bystringOptional ticket field to group rows by.
namestringyesWhat to call the view.
sort_bystringOptional ticket field to sort rows by.
sort_dirstringSort direction. Defaults to asc.

No output schema declared.

No examples provided.

create_scope_baseline ~71

Save immutable scope, estimates and explicit plan versions/dates for an owned delivery group. Reuse request_id on retries; a new request_id captures a new baseline. Requires tickets:write.

NameTypeReqDescription
labelstringyes
request_idstringyes
root_idstringyes

No output schema declared.

No examples provided.

create_workflow_template ~192

Create a new custom workflow template the caller owns, so a multi-step pipeline can be built in conversation instead of by hand in the browser. Saves the same definition the web builder saves. The slug is derived from the name and is returned — use it with run_workflow. Legacy workflows run in dependency order. Explicitly routed workflows use next_step and bounded quality-gate transitions and cannot mix those fields with depends_on. Requires authentication and the workflows:write scope.

NameTypeReqDescription
descriptionstringOptional description of what the workflow does.
domainstringOptional grouping domain, e.g. 'research'. Defaults to 'general'.
namestringyesTemplate name, e.g. 'Competitor Teardown'. The saved slug is derived from this.
stepsarrayyesThe pipeline steps, in the order they will run.
tagsarrayOptional tags for discovery.

No output schema declared.

No examples provided.

decide_approval ~173

Answer a waiting checkpoint by request id: approve, reject, or amend. 'amend' means send the step back to be redone with the change described in notes, so notes are required for it. Spends money: approve continues the run and amend re-runs the step, both billed. Fails with a clear error, rather than silently doing nothing, if the run is no longer waiting. Requires authentication and the workflows:approve scope.

NameTypeReqDescription
approval_idstringyesThe request's id, from list_approvals.
decisionstringyesapprove continues the run; reject sends the step back to be redone; amend does the same but requires notes saying what to change.
notesstringWhat you want changed or why. Required when decision is amend; optional otherwise.

No output schema declared.

No examples provided.

delete_accounting_run ~53

Permanently delete one private Accounting audit run owned by the caller. This is the only Accounting MCP deletion; it never files taxes, moves money, or contacts an external service.

NameTypeReqDescription
run_idstringyes

No output schema declared.

No examples provided.

delete_monitor ~57

Delete one of your standing watches, so it stops firing. Does not touch anything it already started. Requires authentication and the monitors:write scope.

NameTypeReqDescription
monitor_idstringyesThe monitor's id, from create_monitor or list_monitors.

No output schema declared.

No examples provided.

delete_saved_view ~101

Permanently delete one of YOUR OWN saved views. UNRECOVERABLE -- there is no undo and the definition is not retained. archive_saved_view is the reversible retirement and is almost always what is wanted instead; use this only for a view that should actually be gone. Deleting a shared view removes it for the team too. Requires authentication and the tickets:write scope.

NameTypeReqDescription
view_idstringyesThe view's id, from list_saved_views.

No output schema declared.

No examples provided.

delete_workflow_template ~178

Delete a custom workflow template the caller owns. Built-in templates cannot be deleted. This removes the saved definition; runs already started from it are unaffected. Requires authentication and the workflows:write scope.

NameTypeReqDescription
expected_template_fingerprintstringOptional. The definition fingerprint you last saw for this template, returned by update_workflow_template when it last succeeded. Supply it and the write refuses, changing nothing, if the stored temp…
slugstringyesSlug of the template to delete, from list_workflows.

No output schema declared.

No examples provided.

diff_portfolio_snapshots ~188

Compare two of your own portfolio snapshots and return the per-dimension movement between them. snapshot_id is always the 'to' side; against is the 'from' baseline, defaulting to your newest snapshot strictly older than it -- the 'what changed since last time' read, which is reported as not found when this is your first snapshot. Comparing an older snapshot against a newer one is allowed and disclosed rather than silently confusing: the result says whether the pair is chronological and the elapsed days go negative. Both sides are immutable, so a diff is reproducible indefinitely. Requires authentication and the tickets:read scope.

NameTypeReqDescription
againststringThe baseline to compare against -- the 'from' side. Omit for your newest snapshot older than snapshot_id.
snapshot_idstringyesThe snapshot being examined -- the 'to' side, from list_portfolio_snapshots.

No output schema declared.

No examples provided.

draft_outreach_email ~92

Save a draft email subject and/or body onto one of the user's leads. This only stores the draft for human review — it does NOT send anything. A human sends from the dashboard. Requires authentication.

NameTypeReqDescription
email_bodystringDraft email body.
lead_idstringyesLead id to draft for (from search_outreach_leads).
subject_linestringDraft subject line.

No output schema declared.

No examples provided.

estimate_cost ~185

Estimate what a panel or saved workflow would cost before running it: returns a per-agent/per-step price breakdown, the total for the requested number of runs, your remaining quota and platform credit, an honest list of any models the platform could not price, and a go/no-go decision. Reserves nothing, charges nothing, starts nothing.

NameTypeReqDescription
kindstringyesWhat to price: a council panel or a saved workflow.
modelstringOptional single model override applied to every agent or step. A model absent from the pricing catalog is reported in unpriced_models rather than silently priced as the default.
panelstringPanel slug when kind is 'council' (default: 'default').
runsintegerHow many runs to price (default 1).
workflowstringWorkflow slug — required when kind is 'workflow'.

No output schema declared.

No examples provided.

execute_saved_view ~201

Run a saved ticket view's stored filters against live tickets and return the matching tickets, the view that produced them, and group counts when the view groups. Results are always YOUR tickets: a shared view shares the question, not the answers, so opening a teammate's view runs it against your own work and never reveals theirs. An archived view is refused rather than executed. Returns the same payload the web app receives. Follow next_offset while has_more; live ticket or filter changes can shift offset pages, so restart to refresh. Requires authentication and the tickets:read scope.

NameTypeReqDescription
limitintegerHow many tickets to return. Defaults to 200. The ceiling is above the ordinary ticket page size because group counts need to see more rows in one call than a paged list does.
offsetintegerHow many tickets to skip. Defaults to 0.
view_idstringyesThe view's id, from list_saved_views.

No output schema declared.

No examples provided.

get_accounting_run ~74

Get one private Accounting run owned by the caller, including its deterministic estimates, disclaimer, engine revision, and audit timestamps. Source input stays omitted unless include_input=true is explicitly requested.

NameTypeReqDescription
include_inputbooleanAlso return the caller's decrypted source text; use sparingly.
run_idstringyes

No output schema declared.

No examples provided.

get_agent_detail ~55

Full detail on one expert agent by slug (from list_agents): role, description, default model, domain, tags, and tools.

NameTypeReqDescription
slugstringyesThe agent slug, e.g. 'safety_officer'.

No output schema declared.

No examples provided.

get_api_key_info ~54

Report the scopes, plan tier, expiry and remaining quota of the API key making this call, so an agent can check what it is allowed to do before attempting it rather than by being refused. Requires API-key authentication.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_business_suite_overview ~116

What needs attention across my business? Return the same private, counts-only review as the browser: Sales tasks, Marketing approvals, Accounting runs and Consulting work, with deterministic next actions. Legal is a governed entry point, not a verified review queue; generated Legal advice is disabled. No raw documents, amounts, contacts or private text are returned. Never sends, approves, pays or calls a provider. Requires the explicit business_suite:read scope, absent from default and legacy keys. Returns the canonical snapshot as JSON and structured data.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataobjectyes
textstringyes

No examples provided.

get_consulting_engagement ~43

Get one owned engagement with its document revisions, milestones, and internal deliverables. Long document bodies are previewed.

NameTypeReqDescription
engagement_idstringyes

No output schema declared.

No examples provided.

Common questions

What is the Meta Council MCP server?

Meta Council is an MCP server listed in the public MCP registry as com.meta-council/decision-intelligence. Multi-expert decision intelligence with transparent synthesis and auditable workflows. This page covers its hosted endpoint (https://meta-council.com/mcp).

Is the Meta Council MCP server safe to use?

Meta Council scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Meta Council MCP server expose?

Meta Council exposes 179 tools: run_council, plan_council, list_panels, list_agents, get_session, and 174 more. Their descriptions and schemas cost roughly 24,350 tokens of context every time the server is loaded.

Does the Meta Council MCP server require authentication?

Yes. Meta Council asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Meta Council MCP server still maintained?

Meta Council is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.