Meta Council
REMOTE · META-COUNCIL.COM · SCANNED SEP 22
Multi-expert decision intelligence with transparent synthesis and auditable workflows.
Available components
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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
claude mcp add --transport http com-meta-council-decision-intelligence 'https://meta-council.com/mcp'
{
"mcpServers": {
"com-meta-council-decision-intelligence": {
"url": "https://meta-council.com/mcp"
}
}
} {
"servers": {
"com-meta-council-decision-intelligence": {
"type": "http",
"url": "https://meta-council.com/mcp"
}
}
} [mcp_servers.com-meta-council-decision-intelligence] url = "https://meta-council.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-meta-council-decision-intelligence": {
"type": "remote",
"url": "https://meta-council.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-meta-council-decision-intelligence --url 'https://meta-council.com/mcp' --transport streamable-http
mcp_servers:
com-meta-council-decision-intelligence:
url: "https://meta-council.com/mcp" {
"McpServers": {
"com-meta-council-decision-intelligence": {
"Transport": "http",
"Url": "https://meta-council.com/mcp"
}
}
} assistant mcp add com-meta-council-decision-intelligence -t streamable-http -u 'https://meta-council.com/mcp'
{
"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.
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.
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 |
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 →
ticket_dependency_add Ticket Dependency Add ~175
Record that an owned ticket cannot complete until another owned ticket is done. The edge is never erased: correct a mistake with ticket_dependency_remove, which marks the edge removed and appends to a ledger rather than deleting anything. Re-adding the same prerequisite reinstates that original edge instead of creating a second one, so an edge removed and restored says so. An edge stops blocking when the prerequisite reaches done, and only then — archiving the prerequisite does not release it. Only epics are gated, so an edge on a task is recorded and reported but never blocks its completion. Rejections carry a stable code: dependency_self (422), dependency_duplicate, dependency_cycle, dependency_graph_too_large (409), ticket_not_found (404).
| Name | Type | Req | Description |
|---|---|---|---|
| depends_on_ticket_id | string | yes | – |
| ticket_id | string | yes | – |
No output schema declared.
No examples provided.
ticket_dependency_list Ticket Dependency List ~83
List the prerequisites an owned ticket waits on. Read-only. Each edge reports satisfied, which is true only when the prerequisite is done, plus active/removed_at/removed_by_actor. Removed edges are omitted unless include_removed is true; they never gate completion, and are readable as history.
| Name | Type | Req | Description |
|---|---|---|---|
| include_removed | boolean | – | – |
| ticket_id | string | yes | – |
No output schema declared.
No examples provided.
ticket_dependency_remove Ticket Dependency Remove ~139
Stop an owned ticket from waiting on a prerequisite. Removing the last unsatisfied edge can allow this ticket to close, so this is a gate-opening action. Nothing is deleted: the edge is retained, marked with who removed it and when, and the removal is appended to a ledger that survives everything after it. This is not a way to say the prerequisite work is finished — that remains a separate statement about that ticket. Removal is allowed even when either ticket is archived. Rejections carry a stable code: dependency_not_found (404), dependency_already_removed (409).
| Name | Type | Req | Description |
|---|---|---|---|
| dependency_id | string | yes | – |
| ticket_id | string | yes | – |
No output schema declared.
No examples provided.
ticket_get Ticket Get ~55
Full detail for one owned ticket: description, acceptance criteria, subticket progress, and the recent activity/comment trail. ticket_id is required. Use ticket_comments for complete bodies and older discussion pages.
| Name | Type | Req | Description |
|---|---|---|---|
| ticket_id | string | yes | – |
No output schema declared.
No examples provided.
ticket_list Ticket List ~336
Page through the caller's tickets on the Meta Council board. The opaque next_cursor is owner- and filter-bound; keep every filter unchanged on the next call. Immutable cursor ordering keeps a stable full-board traversal exact while returned tickets are edited or reordered. Filter by status, assignee, action_type, priority, parent_id (a ticket UUID, or 'none' for root tickets only), or free-text q over title/description. With recursive=true, parent_id must be an owned UUID and all descendants (not the anchor) are returned as one flat, cycle-safe traversal. Session/workflow links are opaque metadata filters, not access grants. Start here to find work, then use ticket_get for detail and ticket_claim to take a ticket. output_format=json returns a minimized machine-readable page inside text, including labels and stored update timestamps, for read-only board mirrors. It is not a full ticket backup.
| Name | Type | Req | Description |
|---|---|---|---|
| action_type | string | – | – |
| assignee | string | – | – |
| cursor | string | – | – |
| limit | integer | – | – |
| output_format | string | – | – |
| parent_id | string | – | Parent ticket UUID, or 'none' for roots only. |
| priority | string | – | – |
| q | string | – | – |
| recursive | boolean | – | – |
| scope | string | – | Archived tickets are out of the working set and hidden by default. Archiving never changed their status, so an archived ticket listed under scope='archived' still shows the status it had. |
| session_id | string | – | – |
| status | string | – | – |
| workflow_session_id | string | – | – |
No output schema declared.
No examples provided.
ticket_plan Ticket Plan ~272
Preview or idempotently commit an owner-private ticket tree generated from a planning prompt or supplied structured plan. Requires tickets:write. A preview without a supplied plan invokes the planner model and additionally requires councils:run; supplied-plan preview and commit are provider-free and need only tickets:write. Preview is non-mutating and returns the normalized commit payload, an exact preview_token, and deterministic predicted ticket IDs as JSON. To commit, combine that commit_payload with mode=commit, the caller-held idempotency_key, and that exact preview_token; the response returns the same IDs plus replay status. A caller-stable visible-ASCII idempotency_key is always required. This creates only in-platform planning tickets; it never runs them, sends, publishes, deletes, or changes an external provider.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_assign | boolean | – | – |
| context | string|null | – | – |
| idempotency_key | string | yes | Caller-stable visible-ASCII key. Reuse only for the exact same operation and payload. |
| max_tickets | integer | – | – |
| mode | string | yes | – |
| model | string | – | – |
| plan | object | – | – |
| preview_token | string | – | Exact preview_token returned by preview mode. |
| prompt | string | yes | – |
| session_id | string|null | – | – |
No output schema declared.
No examples provided.
ticket_readiness Ticket Readiness ~104
Explain why an owned ticket is not ready to close, using the same readiness check as the browser. Returns gated, ready, and the complete bounded blocker list with each code, reference_id and message. An unready ticket is a successful diagnostic, not a tool failure. This snapshot does not authorize completion or change tickets, scenarios, evidence or validation-attempt budgets. Requires authentication and tickets:read; tickets:write also permits reading.
| Name | Type | Req | Description |
|---|---|---|---|
| ticket_id | string | yes | – |
No output schema declared.
No examples provided.
ticket_scenario_create Ticket Scenario Create ~187
Author one Given/When/Then scenario on an owned ticket. This is the specification an epic must carry before it can be completed: record a passing run against it with ticket_validation_finalize, then transition the epic. The server owns revision 1 and returns current_version and current_definition_hash — pass those exact values to ticket_validation_finalize. Authoring a scenario is not evidence; it states what must be proven, not that it was.
| Name | Type | Req | Description |
|---|---|---|---|
| given_steps | array | yes | Ordered clause steps; blank-only steps are rejected. |
| name | string | yes | – |
| order_index | integer | – | – |
| required | boolean | – | – |
| scenario_key | string|null | – | – |
| then_steps | array | yes | Ordered clause steps; blank-only steps are rejected. |
| ticket_id | string | yes | – |
| when_steps | array | yes | Ordered clause steps; blank-only steps are rejected. |
No output schema declared.
No examples provided.
ticket_scenario_list Ticket Scenario List ~82
List an owned ticket's scenarios with their exact current revisions, including the current_version and current_definition_hash that ticket_validation_finalize requires. Read-only. Use it before recording a run to confirm which revision is current, and to see why an epic still reports required_scenario_missing.
| Name | Type | Req | Description |
|---|---|---|---|
| include_archived | boolean | – | – |
| ticket_id | string | yes | – |
No output schema declared.
No examples provided.
ticket_scenario_revise Ticket Scenario Revise ~167
Replace an owned scenario's content, compare-and-swapping on expected_version. Revisions are append-only: validation runs already recorded keep naming the exact version and hash they were proven against, so revising never rewrites past evidence — it does mean the epic needs a fresh passing run against the new version. A stale expected_version conflicts rather than overwriting a concurrent edit.
| Name | Type | Req | Description |
|---|---|---|---|
| expected_version | integer | yes | – |
| given_steps | array | yes | Ordered clause steps; blank-only steps are rejected. |
| name | string | yes | – |
| scenario_id | string | yes | – |
| then_steps | array | yes | Ordered clause steps; blank-only steps are rejected. |
| ticket_id | string | yes | – |
| when_steps | array | yes | Ordered clause steps; blank-only steps are rejected. |
No output schema declared.
No examples provided.
ticket_update Ticket Update ~314
Update fields on an owned ticket — status moves (each one is auto-logged to the ticket's audit trail), reassignment, priority/effort/action_type recommendations, title/description edits, safe reparenting, opaque session/workflow links, effort points, order, and user-owned external refs. Clear flags are explicit so stdio clients never lose JSON nulls. System-owned provider, Accounting, plan, and batch refs are preserved and cannot be spoofed. The authenticated API-key UUID is stamped on the audit trail. Epic completion and terminal reopen fail closed on this generic tool until an explicit lifecycle operation supplies retry/version evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptance_criteria | string | – | – |
| action_type | string | – | – |
| assignee | string | – | – |
| clear_effort_points | boolean | – | – |
| clear_parent | boolean | – | – |
| clear_session | boolean | – | – |
| clear_workflow_session | boolean | – | – |
| description | string | – | – |
| effort | string | – | – |
| effort_points | integer | – | – |
| external_ref | object | – | – |
| labels | array | – | – |
| order_index | integer | – | – |
| parent_id | string | – | – |
| priority | string | – | – |
| session_id | string | – | – |
| status | string | – | Task moves are audited. Epic done or terminal reopen requires an explicit lifecycle operation with retry/version evidence. |
| ticket_id | string | yes | – |
| title | string | – | – |
| workflow_session_id | string | – | – |
No output schema declared.
No examples provided.
ticket_validation_finalize Ticket Validation Finalize ~180
Finalize one immutable validation run for an exact owned ticket scenario revision. Requires the opt-in tickets:validate scope. The server derives owner and actor only from the authenticated API key. Evidence payloads are bounded opaque JSON objects; locator-looking strings are recorded but never opened, resolved, redirected, or fetched. Exact retries by the same credential actor return the original receipt; a changed actor or changed content under the same key conflicts.
| Name | Type | Req | Description |
|---|---|---|---|
| environment | string | yes | – |
| evidence | array | yes | – |
| idempotency_key | string | yes | – |
| runner | string | yes | – |
| scenario_hash | string | yes | – |
| scenario_id | string | yes | – |
| scenario_version | integer | yes | – |
| source_revision | string | yes | – |
| summary | string|null | – | – |
| ticket_id | string | yes | – |
| verdict | string | yes | – |
No output schema declared.
No examples provided.
triage_meta_council_feedback Triage Meta Council Feedback ~100
ADMIN ONLY: triage a platform-feedback report — set its status and/or admin notes (requires an ADMIN_EMAILS account; everyone else gets a permission error). Get the full feedback id from list_meta_council_feedback.
| Name | Type | Req | Description |
|---|---|---|---|
| admin_notes | string | – | Triage notes; an empty string clears them. |
| feedback_id | string | yes | Full feedback UUID from list_meta_council_feedback. |
| status | string | – | – |
No output schema declared.
No examples provided.
unshare_saved_view Unshare Saved View ~81
Make one of YOUR OWN shared saved views private again. Idempotent. Revocation is immediate: team membership is resolved on every read and never copied into a grant, so this takes effect on each member's next request. Requires authentication and the tickets:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| view_id | string | yes | The view's id, from list_saved_views. |
No output schema declared.
No examples provided.
update_consulting_client Update Consulting Client ~72
Update mutable fields on an owned consulting client.
| Name | Type | Req | Description |
|---|---|---|---|
| client_id | string | yes | – |
| contact_email | string | – | – |
| contact_name | string | – | – |
| name | string | – | – |
| notes | string | – | – |
| organization | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
update_consulting_deliverable Update Consulting Deliverable ~66
Edit an internal draft deliverable; review/approval state is separate.
| Name | Type | Req | Description |
|---|---|---|---|
| deliverable_id | string | yes | – |
| description | string | – | – |
| due_date | string | – | – |
| milestone_id | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
update_consulting_document_revision Update Consulting Document Revision ~48
Edit an unapproved proposal/SOW revision; approved revisions are immutable.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | – |
| document_id | string | yes | – |
| title | string | – | – |
No output schema declared.
No examples provided.
update_consulting_engagement Update Consulting Engagement ~94
Update mutable fields on an owned consulting engagement.
| Name | Type | Req | Description |
|---|---|---|---|
| accounting_run_ref | string | – | – |
| client_id | string | – | – |
| engagement_id | string | yes | – |
| objective | string | – | – |
| sales_deal_ref | string | – | – |
| start_date | string | – | – |
| status | string | – | – |
| target_end_date | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
update_consulting_milestone Update Consulting Milestone ~77
Update an owned consulting milestone while preserving its stable ref.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| due_date | string | – | – |
| expected_version | integer | yes | – |
| milestone_id | string | yes | – |
| order_index | integer | – | – |
| status | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
update_content_asset Update Content Asset ~87
Edit an owned draft. Submitted/approved/rejected revisions are immutable and must be revised.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_id | string | yes | Full UUID from the matching list tool. |
| asset_type | string | – | – |
| channel | string | – | – |
| content | string | – | – |
| revision_notes | string | – | – |
| scheduled_for | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
update_deal Update Deal ~164
Update one of the caller's deals — most commonly to ADVANCE its stage (e.g. discovery -> proposal). Moving to closed_won/closed_lost stamps the close date; reopening to an open stage clears it. Only the fields you pass change; deal_id is required.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | – |
| company | string | – | – |
| currency | string | – | Exactly three ASCII letters, such as USD; saved uppercase. Omit to keep the current currency. Syntax only, not an ISO registry. |
| deal_id | string | yes | – |
| expected_close_date | string | – | ISO date YYYY-MM-DD. |
| notes | string | – | – |
| probability | integer | – | – |
| stage | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
update_invoice Update Invoice ~136
Update a draft or sent invoice's header fields (client, terms, due date, tax rate, notes). Only the fields you pass change. Blocked once paid/void — void and re-issue instead. invoice_id is required.
| Name | Type | Req | Description |
|---|---|---|---|
| client_email | string | – | – |
| client_name | string | – | – |
| currency | string | – | Three ASCII letters; normalized to uppercase. ISO membership is not checked. |
| due_date | string | – | ISO date YYYY-MM-DD. |
| invoice_id | string | yes | – |
| notes | string | – | – |
| payment_terms | string | – | – |
| tax_rate | number | – | – |
No output schema declared.
No examples provided.
update_marketing_audience Update Marketing Audience ~70
Update fields on one owned audience definition. No delete is exposed over MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| audience_id | string | yes | Full UUID from the matching list tool. |
| channels | array | – | – |
| description | string | – | – |
| name | string | – | – |
| pain_points | string | – | – |
No output schema declared.
No examples provided.
update_marketing_brand Update Marketing Brand ~70
Update fields on one owned brand identity. No delete is exposed over MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_id | string | yes | Full UUID from the matching list tool. |
| guidelines | string | – | – |
| name | string | – | – |
| value_proposition | string | – | – |
| voice | string | – | – |
No output schema declared.
No examples provided.
update_marketing_campaign Update Marketing Campaign ~111
Update one owned marketing campaign. Campaign status never publishes content.
| Name | Type | Req | Description |
|---|---|---|---|
| audience_id | string | – | Full UUID from the matching list tool. |
| brand_id | string | – | Full UUID from the matching list tool. |
| campaign_id | string | yes | Full UUID from the matching list tool. |
| channels | array | – | – |
| ends_on | string | – | – |
| name | string | – | – |
| objective | string | – | – |
| starts_on | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
update_outreach_lead_status Update Outreach Lead Status ~175
Advance a lead through the pipeline — set its status / pipeline stage and, optionally, a recorded reply, pitch, or notes. The core pipeline-drive action. Idempotent (setting the same status twice is a no-op). Requires authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| lead_id | string | yes | Lead id to update (from search_outreach_leads). |
| notes | string | – | Optional free-text notes. |
| pitch_id | string | – | Optional pitch id to attach to the lead. |
| response_text | string | – | Optional recorded reply text. |
| response_type | string | – | Optional reply classification (e.g. 'positive', 'negative', 'neutral'). |
| status | string | – | New pipeline status (e.g. 'ready', 'sent', 'replied', 'closed_won', 'closed_lost'). |
No output schema declared.
No examples provided.
update_saved_view Update Saved View ~189
Revise one of YOUR OWN saved views in place, keeping its id and any existing team share. Only the fields you send change; the rest are left exactly as they were, so this is safe to call without re-reading the whole definition first. Sharing a view does not let its readers revise it -- only the owner may. Requires authentication and the tickets:write scope.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | array | – | Replacement column list, in order. At most 20. |
| filters | object | – | Which tickets the view selects. Same filter vocabulary the ticket list accepts; omitted filters are unset. |
| group_by | string | – | New grouping field. |
| name | string | – | New name for the view. |
| sort_by | string | – | New sort field. |
| sort_dir | string | – | New sort direction. |
| view_id | string | yes | The view's id, from list_saved_views. |
No output schema declared.
No examples provided.
update_workflow_template Update Workflow Template ~298
Replace an existing custom workflow template's definition. This is a full replacement, not a patch: supply name and steps as you want them to end up, because anything omitted is not carried over. Built-in templates are read-only, and only the template's owner may change it. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Description after the update. |
| domain | string | – | Grouping domain after the update. |
| expected_template_fingerprint | string | – | Optional. 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… |
| name | string | – | Template name after the update. |
| slug | string | yes | Slug of the template to replace, from list_workflows. |
| steps | array | – | The complete step list after the update, in run order. |
| tags | array | – | Tags after the update. |
No output schema declared.
No examples provided.
void_invoice Void Invoice ~60
Void a draft or sent invoice. Cannot be applied to an already-paid invoice (issue a credit note instead). invoice_id is required. No delete tool is exposed over MCP — void is the terminal non-destructive state.
| Name | Type | Req | Description |
|---|---|---|---|
| invoice_id | string | yes | – |
No output schema declared.
No examples provided.
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.