このMCPでできること
Queries multiple frontier AI models in parallel, synthesizes consensus answers, performs multi-model code reviews, and supports document retrieval from an uploaded library.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['userPlan', 'models'], 'properties': {'models': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'provider'], 'properties': {'id': {'type': 'string', 'description': 'Model ID â\x80\x94 pass these in the models argument of council tools.'}, 'name': {'type': 'string', 'description': 'Human-readable model name.'}, 'tier': {'type': 'string', 'description': 'Council pricing tier of the model.'}, 'modelId': {'type': 'string', 'description': 'Provider-side model identifier.'}, 'provider': {'type': 'string', 'description': 'Lab/provider, e.g. anthropic, openai, google.'}, 'maxTokens': {'type': ['number', 'null'], 'description': 'Context window size, when known.'}, 'supportsVision': {'type': 'boolean', 'description': 'Whether the model accepts images.'}, 'supportsStreaming': {'type': 'boolean', 'description': 'Whether the model streams tokens.'}, 'supportsWebSearch': {'type': 'boolean', 'description': 'Whether the model can search the web.'}}, 'additionalProperties': False}, 'description': 'Models available to this user, across all providers.'}, 'userPlan': {'type': 'string', 'description': "The user's current subscription plan."}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'mode': {'enum': ['independent', 'sequential'], 'type': 'string', 'default': 'independent', 'description': "Cross-model visibility. 'independent' (default): all models answer in parallel, blind to each other â\x80\x94 best for unbiased comparison; the synthesis reconciles them. 'sequential': models answer one at a time and each later model sees the earlier answers, debate-style â\x80\x94 takes the SUM of per-model latencies instead of the max, so strongly consider async=true with it."}, 'async': {'type': 'boolean', 'default': False, 'description': 'When true, return {queryId, status:"running"} immediately instead of waiting for the council. Fetch the finished result with council_result. Use whenever your MCP client enforces a fixed tool-call timeout (a full council typically runs 1-3 minutes) or when querying 4+ models.'}, 'models': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 2, 'description': 'Model IDs to include (2-10). Defaults to a cross-lab flagship council. Use council_models to list available IDs. Example: ["claude-fable-5.1", "gpt-5.6-sol", "gemini-3.8-flash"]'}, 'prompt': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'The question or task to send to the council. Include all needed context â\x80\x94 every query is stateless. Example: "Is optimistic locking or a distributed lock the better fit for this checkout flow? [paste flow description]"'}, 'synthesize': {'type': 'boolean', 'default': True, 'description': 'When true (default), include the moderator synthesis + consensus score. Set false to get only the raw per-model responses (faster, cheaper).'}, 'synthesisDirective': {'type': 'string', 'maxLength': 8000, 'minLength': 1, 'description': 'Optional instructions for the moderator that synthesizes the council\'s answers. The council models never see this â\x80\x94 it only shapes the synthesis. Use for special modes, e.g. devil\'s advocate: "Argue against the majority position â\x80\x94 find the strongest case that the consensus is wrong and surface every dissenting point." Or output contracts: "Answer VERDICT: SAFE/UNSAFE first, then justification." Omit for the standard balanced synthesis.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['modelId', 'message'], 'properties': {'message': {'type': 'string'}, 'modelId': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Per-model failures, if any. The synthesis covers the models that responded.'}, 'status': {'enum': ['running', 'complete', 'failed'], 'type': 'string', 'description': 'Only present on async queries: "running" means poll council_result with the queryId.'}, 'queryId': {'type': 'string', 'description': 'Server-side ID of this council query. With async=true, pass it to council_result.'}, 'synthesis': {'type': 'string', 'description': 'Moderator-synthesized consensus answer across all models. Empty when synthesize=false; absent while an async query is still running.'}, 'durationMs': {'type': 'number', 'description': 'Wall-clock duration of the council run (fan-out + synthesis), in milliseconds.'}, 'wasSyncRun': {'type': 'boolean', 'description': 'True when this ran synchronously â\x80\x94 the path with the tight per-model timeout.'}, 'totalTokens': {'type': 'object', 'required': ['input', 'output'], 'properties': {'input': {'type': 'number', 'description': 'Prompt tokens across all council models.'}, 'output': {'type': 'number', 'description': 'Completion tokens across all council models.'}}, 'description': 'Aggregate token usage for this query across the whole council.', 'additionalProperties': False}, 'modelMapping': {'type': 'object', 'description': 'Anonymous reviewer label (M1..Mn) to model name mapping used during synthesis.', 'additionalProperties': {'type': 'string'}}, 'agreementType': {'anyOf': [{'enum': ['high', 'divergent'], 'type': 'string'}, {'type': 'null'}], 'description': "Agreement classification from the moderator's analysis. Null when synthesize=false."}, 'consensusScore': {'type': ['number', 'null'], 'description': 'Cross-model agreement score on the 0-100 scale. Null when synthesize=false; absent while an async query is still running.'}, 'synthesisError': {'type': ['string', 'null'], 'description': 'Set when moderator synthesis failed and the response degraded to raw per-model output.'}, 'droppedModelIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Requested model IDs that were skipped (unknown or retired). Call council_models for current IDs.'}, 'keyDisagreement': {'type': ['string', 'null'], 'description': 'The main point the models disagreed on, when one was identified. Often more decision-relevant than the consensus itself â\x80\x94 inspect it before acting on a low consensusScore. Null on high agreement or when synthesize=false.'}, 'timedOutModelIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Council members that failed by exceeding the per-model timeout. On a synchronous run (90s per model) this is recoverable: re-run the same query with async=true, which allows 300s. Slow reasoning models will time out on EVERY synchronous call.'}, 'budgetPercentUsed': {'type': ['number', 'null'], 'description': "The user's monthly Council budget consumption after this query, as a percentage (0-100+). Use it to decide whether another query is affordable. Council never reports budget in dollar amounts â\x80\x94 always reason and communicate in percentages."}, 'perModelResponses': {'type': 'object', 'description': "Each model's independent response, keyed by model name. Absent while an async query is still running.", 'additionalProperties': {'type': 'string'}}, 'consensusUnavailable': {'type': 'boolean', 'description': "True when the moderator's agreement verdict could not be parsed, so this run has no consensus score at all. Do not substitute a number â\x80\x94 report agreement as unknown."}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'async': {'type': 'boolean', 'default': False, 'description': 'When true, retrieval runs immediately (sources are returned right away) but the council itself runs in the background â\x80\x94 fetch the finished answer with council_result. Use when your MCP client enforces a fixed tool-call timeout or when querying 4+ models.'}, 'models': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 2, 'description': "Model IDs to include. Defaults to the user's preferred council."}, 'prompt': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'The question or task to send to the council. Example: "Review this NDA draft against our standard playbook terms."'}, 'project_id': {'type': 'string', 'description': 'Restrict retrieval to a specific Council project workspace.'}, 'synthesize': {'type': 'boolean', 'default': True, 'description': 'When true (default), include the moderator synthesis + consensus score.'}, 'library_query': {'type': 'string', 'description': "Optional retrieval-specific query. If omitted, the main prompt is used as the retrieval query. Set this when the user's prompt has unrelated framing but the concrete documents to retrieve are described by something different."}, 'retrieval_limit': {'type': 'number', 'maximum': 20, 'minimum': 1, 'description': 'Number of chunks to retrieve. Default: 8.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['retrievedChunks'], 'properties': {'status': {'enum': ['running', 'complete', 'failed'], 'type': 'string', 'description': 'Only present on async queries: "running" means poll council_result with the queryId.'}, 'queryId': {'type': 'string', 'description': 'Present on async queries â\x80\x94 pass it to council_result.'}, 'synthesis': {'type': 'string', 'description': 'Moderator-synthesized consensus answer, grounded in the retrieved library chunks. Absent while an async query is still running.'}, 'ragSkipped': {'type': 'boolean', 'description': 'True when retrieval found nothing and the query fell through to a plain council_query.'}, 'consensusScore': {'type': ['number', 'null'], 'description': 'Cross-model agreement score on the 0-100 scale. Null when synthesize=false; absent while an async query is still running.'}, 'retrievedChunks': {'type': 'array', 'items': {'type': 'object', 'properties': {'chunkId': {'type': 'string', 'description': 'ID of the retrieved chunk.'}, 'content': {'type': 'string', 'description': 'The retrieved passage text.'}, 'distance': {'type': 'number', 'description': 'Vector distance â\x80\x94 lower is more relevant.'}, 'filename': {'type': 'string', 'description': 'Source document filename.'}, 'documentId': {'type': 'string', 'description': 'ID of the parent document.'}, 'pageNumber': {'type': ['number', 'null'], 'description': 'Page number in the source document, when known.'}}, 'additionalProperties': False}, 'description': "Library chunks that were injected into every model's prompt. Empty when the library had no relevant content."}, 'perModelResponses': {'type': 'object', 'description': "Each model's independent response, keyed by model name. Absent while an async query is still running.", 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['queryId'], 'properties': {'queryId': {'type': 'string', 'maxLength': 40, 'minLength': 10, 'description': 'The queryId returned by council_query when called with async=true.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['queryId', 'status'], 'properties': {'error': {'type': 'string', 'description': 'Failure reason when status is "failed".'}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['modelId', 'message'], 'properties': {'message': {'type': 'string'}, 'modelId': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Per-model failures, if any. The synthesis covers the models that responded.'}, 'status': {'enum': ['running', 'complete', 'failed'], 'type': 'string', 'description': 'running â\x86\x92 poll again in 30-60s. complete â\x86\x92 full result below. failed â\x86\x92 see error.'}, 'queryId': {'type': 'string', 'description': 'The polled query ID.'}, 'elapsedMs': {'type': ['number', 'null'], 'description': 'Time since the query started, while running.'}, 'synthesis': {'type': 'string', 'description': 'Moderator-synthesized consensus answer. Present when status is "complete".'}, 'durationMs': {'type': ['number', 'null'], 'description': 'Wall-clock duration of the council run, in milliseconds.'}, 'totalTokens': {'type': 'object', 'required': ['input', 'output'], 'properties': {'input': {'type': 'number'}, 'output': {'type': 'number'}}, 'description': 'Aggregate token usage across the whole council.', 'additionalProperties': False}, 'modelMapping': {'type': 'object', 'description': 'Anonymous label (M1..Mn) to model ID mapping.', 'additionalProperties': {'type': 'string'}}, 'agreementType': {'anyOf': [{'enum': ['high', 'divergent'], 'type': 'string'}, {'type': 'null'}], 'description': "Agreement classification from the moderator's analysis."}, 'consensusScore': {'type': ['number', 'null'], 'description': 'Cross-model agreement score, 0-100. Null when the query ran with synthesize=false.'}, 'synthesisError': {'type': ['string', 'null'], 'description': 'Set when moderator synthesis failed and the response degraded to raw per-model output.'}, 'droppedModelIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Requested model IDs that were skipped (unknown or retired).'}, 'keyDisagreement': {'type': ['string', 'null'], 'description': 'The main point the models disagreed on, when one was identified.'}, 'budgetPercentUsed': {'type': ['number', 'null'], 'description': 'Monthly Council budget consumption, as a percentage (0-100+). Never dollars.'}, 'perModelResponses': {'type': 'object', 'description': "Each model's independent response, keyed by anonymous label (M1..Mn).", 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['diff'], 'properties': {'diff': {'type': 'string', 'minLength': 1, 'description': 'The unified diff (git diff output) or code snippet to review. Max 14,000 characters â\x80\x94 if your diff is larger, split it by file or hunk and review each part separately. Example: the output of `git diff HEAD~1`.'}, 'async': {'type': 'boolean', 'default': False, 'description': 'When true, return {queryId, status:"running"} immediately and fetch the finished review with council_result. Use when your MCP client enforces a fixed tool-call timeout, or with 4+ reviewers â\x80\x94 async runs also give slow reasoning models a much larger time budget before they are cut off.'}, 'focus': {'enum': ['bugs', 'security', 'performance', 'architecture', 'all'], 'type': 'string', 'default': 'all', 'description': 'Review focus: "bugs" (correctness), "security", "performance", "architecture", or "all" (default â\x80\x94 full review, bugs prioritized).'}, 'models': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 2, 'description': "Model IDs to include as reviewers (2-10). Defaults to the user's preferred council. Use council_models to list available IDs."}, 'context': {'type': 'string', 'maxLength': 3000, 'description': 'What the change is supposed to do: intent, constraints, related files or invariants reviewers cannot see from the diff alone. Improves signal, reduces false positives.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['focus'], 'properties': {'focus': {'enum': ['bugs', 'security', 'performance', 'architecture', 'all'], 'type': 'string', 'description': 'The review focus this synthesis was produced under.'}, 'errors': {'type': 'array', 'items': {'type': 'object', 'required': ['modelId', 'message'], 'properties': {'message': {'type': 'string'}, 'modelId': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Per-reviewer failures, if any.'}, 'status': {'enum': ['running', 'complete', 'failed'], 'type': 'string', 'description': 'Only present on async reviews: "running" means poll council_result with the queryId.'}, 'queryId': {'type': 'string', 'description': 'Server-side ID of this review query. With async=true, pass it to council_result.'}, 'synthesis': {'type': 'string', 'description': 'Verdict-first moderator synthesis: ## Council Verdict (SHIP/NO-SHIP), ## Confirmed Findings (2+ reviewers agree), ## Dissents, ## Reviewer Verdicts. Absent while an async review is still running.'}, 'modelMapping': {'type': 'object', 'description': 'Anonymous reviewer label (M1..Mn) to model name mapping â\x80\x94 how dissents are attributed.', 'additionalProperties': {'type': 'string'}}, 'consensusScore': {'type': ['number', 'null'], 'description': 'Cross-reviewer agreement score on the 0-100 scale. Absent while an async review is still running.'}, 'perModelResponses': {'type': 'object', 'description': "Each reviewer model's raw independent review, keyed by model name. Absent while an async review is still running.", 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'type': 'string', 'description': 'Budget status: ok, warning, or exceeded.'}, 'percentUsed': {'type': 'number', 'description': 'Percentage of the monthly budget consumed, 0-100+.'}, 'periodEndsAt': {'type': 'string', 'description': 'When the current monthly budget cycle resets, ISO 8601.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['documentId'], 'properties': {'documentId': {'type': 'string', 'minLength': 1, 'description': 'ID of the document to delete, as returned by library_list or library_upload.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'deletedChunks'], 'properties': {'success': {'type': 'boolean', 'description': 'True when the document and all its data were removed.'}, 'deletedChunks': {'type': 'number', 'description': 'Number of indexed chunks that were deleted along with the document.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['documents'], 'properties': {'documents': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document ID.'}, 'status': {'type': ['string', 'null'], 'description': 'Ingestion status, e.g. ready or processing.'}, 'filename': {'type': ['string', 'null'], 'description': 'Original filename as uploaded.'}, 'createdAt': {'type': ['string', 'null'], 'description': 'Upload timestamp, ISO 8601.'}, 'projectId': {'type': ['string', 'null'], 'description': 'Project workspace the document belongs to, if any.'}, 'sizeBytes': {'type': ['number', 'null'], 'description': 'File size in bytes.'}, 'chunkCount': {'type': ['number', 'null'], 'description': 'Number of indexed chunks.'}, 'sourceType': {'type': ['string', 'null'], 'description': 'Source type, e.g. pdf or docx.'}}, 'additionalProperties': False}, 'description': "Every document in the user's library, newest first. Empty when the library has no documents."}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'maximum': 20, 'minimum': 1, 'description': 'Number of chunks to return, 1-20. Default: 8.'}, 'query': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Semantic retrieval query â\x80\x94 describe the content you want, not keywords. Example: "termination and notice-period clauses in the vendor agreement"'}, 'project_id': {'type': 'string', 'description': 'Restrict retrieval to a specific Council project workspace ID. Omit to search the whole library.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hits'], 'properties': {'hits': {'type': 'array', 'items': {'type': 'object', 'properties': {'chunkId': {'type': 'string', 'description': 'ID of the matched chunk.'}, 'content': {'type': 'string', 'description': 'The matched passage text.'}, 'distance': {'type': 'number', 'description': 'Vector distance â\x80\x94 lower is more relevant.'}, 'filename': {'type': 'string', 'description': 'Source document filename.'}, 'documentId': {'type': 'string', 'description': 'ID of the parent document.'}, 'pageNumber': {'type': ['number', 'null'], 'description': 'Page number in the source document, when known.'}}, 'additionalProperties': False}, 'description': 'Top-K matching chunks, most relevant first. Empty when nothing matches.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['filename', 'contentBase64'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Free-form tags to attach to the document, e.g. ["contracts", "2026"].'}, 'filename': {'type': 'string', 'maxLength': 512, 'minLength': 1, 'description': 'Original filename including extension â\x80\x94 the extension drives type detection. Example: "vendor-contract-2026.pdf".'}, 'mimeType': {'type': 'string', 'maxLength': 255, 'description': 'MIME type, e.g. "application/pdf". Optional â\x80\x94 the backend verifies the real type from the file\'s magic bytes regardless.'}, 'projectId': {'type': 'string', 'description': 'Council project workspace to file the document under. Omit for the general library.'}, 'contentBase64': {'type': 'string', 'minLength': 1, 'description': "The file's raw bytes, base64-encoded (standard alphabet, no data: URI prefix). For a plain-text or markdown document, base64-encode the UTF-8 text."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['document'], 'properties': {'document': {'type': 'object', 'required': ['id', 'filename', 'status', 'sizeBytes'], 'properties': {'id': {'type': 'string', 'description': 'Document ID â\x80\x94 use with library_delete or to track ingestion.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags as stored.'}, 'status': {'type': 'string', 'description': 'Ingestion status. Starts "pending"; becomes "ready" when queryable, or "failed" with errorMessage.'}, 'filename': {'type': 'string', 'description': 'Sanitized filename as stored.'}, 'mimeType': {'type': 'string', 'description': 'Verified MIME type.'}, 'createdAt': {'type': 'string', 'description': 'Upload timestamp, ISO 8601.'}, 'projectId': {'type': ['string', 'null'], 'description': 'Project workspace, when set.'}, 'sizeBytes': {'type': 'number', 'description': 'Stored file size in bytes.'}, 'sourceType': {'type': 'string', 'description': 'Detected source type, e.g. pdf or docx.'}}, 'description': 'The created document record, in "pending" status until background ingestion completes.', 'additionalProperties': False}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
Andreax
Offers pay-per-call AI services for inference, agent and workflow design, OCR and transcription, code generation and review, clas…
GPT55 Model Gateway
Acts as a remote model gateway exposing GPT chat, coding and review services, lightweight text utilities, and prepaid or x402-bas…
GoCreative Agent API
Offers pay-per-call LLM completions and data services for company intelligence, KYB, sanctions screening, threat intelligence, co…
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
Speedbot Autonomous Work Network
Supports asynchronous collaboration, discovery, messaging, referrals, and optional USDC-based scenarios among AI agents.
H/M Blindspot Challenge Platform
Audits public AI agent surfaces and supports AI-authored creative projects, model challenges, short videos, live channels, and co…
NOT FOR HUMANS
Provides NFT ownership and marketplace status, wallet-based agent identity and claims, public agent learning records, and multipl…
Agent^Rider
Provides agent identity, reputation, task escrow and credit workflows, agent messaging, following, posts, predictions, and experi…