Everything you need to run your first council, customize panels, build workflows, and integrate via the API.
Run your first council query in under a minute. No setup required.
Enter any high-stakes question into the query box on the home page. Be specific: include context, constraints, and what kind of recommendation you need. For example: "Should we migrate our monolith to microservices given a 6-person engineering team and $2M ARR?"
Select a panel of expert agents from the dropdown. Each panel is a curated group of AI specialists tuned for a specific domain. The Default Panel (Strategist, Risk Analyst, Devil's Advocate) works for most general questions. Pick a specialized panel for domain-specific queries.
Each agent delivers an independent analysis with a recommendation, confidence score, key considerations, and risks. A synthesis step combines all opinions into a single decision document with an executive summary, action plan, and risk matrix. Expand any agent card to see their full reasoning.
A panel is a curated group of expert AI agents that deliberate on your query in parallel. Each panel is designed for a specific domain or decision type.
When you run a council, every agent on the selected panel independently analyzes your query using their unique expertise, analytical framework, and persona. Each agent has a weight that determines how much influence they have on the final synthesis. Some agents are marked required, meaning they always participate and may hold veto authority (for example, the Safety Officer).
Fast 3-agent council for general business decisions. Strategist, Risk Analyst, Devil's Advocate.
The fastest council -- 2 agents for a rapid decision gut-check with red-teaming.
The most comprehensive council with 8 expert agents for high-stakes decisions.
Architecture, tech stack, build-vs-buy, technical debt. Architect, TDD Engineer, DevOps, Security, PM, QA.
Roadmap, pricing, go-to-market. Product Manager, UX Researcher, Data Scientist, Marketing, Sales.
Clinical decision support with Attending Surgeon, Clinical Pharmacist, and specialist agents.
Drug development, clinical trials, regulatory submissions. 7 specialists from trials to post-market.
Strategic military advisory using ranked authority. Strategist, Intelligence Analyst, and doctrine frameworks.
Deal strategy, pipeline, pricing, competitive positioning. Sales Director, Engineer, Negotiation Expert.
Infrastructure, security, and operations. IT Director, Cybersecurity, DevOps/SRE, Network, DR, Risk.
Holistic financial planning: tax, investment, risk, legal, and behavioral perspectives.
Stress-test a new venture from five angles: VC, Marketing, Legal, Technical, and Financial.
Investment analysis from multiple professional disciplines for rigorous investment theses.
Multi-perspective policy analysis with equally weighted conservative, progressive, and economist viewpoints.
Rapid-response council for active or imminent organizational crises requiring decisive action.
Production and operations advisory. Systems Engineer, QA Manager, and process specialists.
Technology strategy with Systems Engineer, CISO, and senior technical leadership.
Full-spectrum advisory for large-scale conferences, festivals, galas, and corporate events.
Franchise decisions, player acquisition, contract negotiations using analytical frameworks.
Sustainable food product strategy from farm to consumer. Agricultural, culinary, and market perspectives.
Plus specialized geopolitical scenario panels. New panels are added regularly.
Workflows are multi-step decision pipelines with human review between each stage. Unlike a single council query, workflows chain multiple councils together in a structured sequence.
A council is a single round of multi-expert deliberation: you ask a question, agents analyze it in parallel, and a synthesis combines their opinions. A workflow is a sequence of councils and processing steps that tackle a complex process end-to-end.
For example, a "Due Diligence" workflow might run four stages: financial analysis, legal review, technical assessment, and a final synthesis. Each stage can use a different panel, and you can review and refine between stages.
Use a workflow when your decision requires multiple phases that build on each other, when you need human review checkpoints, or when the process is standardized enough to template. Examples:
Select the "Workflows" tab in the main interface. Browse available templates, pick one, and fill in your context. The workflow guides you through each stage, showing progress and letting you adjust inputs between steps.
Create expert agents tailored to your organization's specific domain knowledge and decision-making needs.
Every agent is a Markdown template with YAML frontmatter. The frontmatter defines metadata (name, role, expertise tags, default weight), and the body is a system prompt that shapes the agent's persona, analytical framework, and output style.
In the web interface, go to the Agents page and click "Create Agent." You can define:
Agents can be shared via the marketplace. You can fork any public agent, customize it, and add it to your panels. All agents support version tracking.
Integrate Meta Council into your existing tools and workflows with the REST API. All endpoints accept and return JSON.
All paths below are relative to this base. The Developer API (v1) uses /api/v1 instead.
Two methods are supported. Use whichever fits your integration:
| Method | How to obtain | Header format |
|---|---|---|
| JWT token | POST /api/auth/login with email + password |
Authorization: Bearer <jwt_token> |
| API key | Settings > Developer API in the web UI, or POST /api/v1/keys |
Authorization: Bearer mc_<key> |
API keys use the mc_ prefix and are shown only once at creation time. Store them securely.
| Tier | Council runs / hour | Other endpoints |
|---|---|---|
| Free | 3 | 60 / min |
| Pro | 20 | 300 / min |
| Enterprise | Unlimited | Unlimited |
Rate limit info is returned in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (Unix timestamp).
All responses are JSON. Successful responses return a top-level object. Errors return {"detail": "error message"} with an appropriate HTTP status code. See Error Handling below.
The core product. Start a multi-expert council session, poll for results, and retrieve agent/panel metadata.
/api/council/run
Start a new council session. Agents analyze your query in parallel, then a synthesis step combines their outputs. Returns immediately with a session ID for polling.
Request body| Field | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The question or decision to deliberate on. Be specific: include context, constraints, and desired output. |
panel | string | No | Panel slug. Defaults to "default". Use "auto" for AI-powered panel selection or "dynamic" for MMR-based agent matching (Pro+). See GET /api/panels for options. |
model_override | string | No | Override the model for all agents in this run (e.g. "claude-sonnet-4-20250514", "gpt-4o"). Requires a matching provider API key in your settings. |
council_id | string | No | ID of a saved custom council to run instead of a named panel. Takes precedence over panel. |
is_private | boolean | No | If true, the session is private (only accessible by you). Default: false (sessions are public and shareable via URL). |
| Field | Type | Description |
|---|---|---|
session_id | string | Unique session identifier. Use this to poll for results. |
status | string | Always "running" on initial response. |
/api/council/sessions/{session_id}
Poll a running session for status updates and results. Call this every 1-3 seconds until status is "completed" or "failed".
| Status | Meaning |
|---|---|
running | Agents are analyzing the query in parallel. The agents object shows per-agent progress. |
synthesizing | All agents finished. The synthesis model is combining results into a unified recommendation. |
completed | Done. The synthesis and agents fields contain full results. |
failed | An error occurred. Check the error field for details. |
| Field | Type | Description |
|---|---|---|
session_id | string | Session identifier. |
status | string | One of: running, synthesizing, completed, failed. |
query | string | The original query submitted. |
panel | string | Panel slug used for this session. |
synthesis | object | The combined recommendation (see Synthesis object below). Only present when status is "completed". |
agents | object | Map of agent name to agent result object (see Agent object below). |
duration | number | Total session duration in seconds. |
| Field | Type | Description |
|---|---|---|
executive_summary | string | 2-3 paragraph summary of the recommendation with the key decision and reasoning. |
detailed_analysis | string | Full analysis combining all agent perspectives, typically 500-2000 words. |
consensus_points | string[] | Points where the majority of agents agree. |
dissenting_views | string[] | Notable disagreements or minority opinions from specific agents. |
risk_matrix | object[] | Array of risks, each with risk, likelihood (low/medium/high), impact (low/medium/high), agent (who flagged it), and mitigation. |
recommended_action | string | Clear, actionable next steps based on the council's combined analysis. |
| Field | Type | Description |
|---|---|---|
name | string | Display name of the agent (e.g. "Chief Strategist"). |
role | string | Agent's professional role and perspective. |
model | string | LLM model used for this agent's analysis. |
weight | number | Agent's influence weight in the synthesis (typically 1.0, safety_officer is 2.0). |
status | string | "running", "completed", or "failed". |
recommendation | string | The agent's recommendation (e.g. "PROCEED WITH CONDITIONS"). |
confidence | number | Confidence score from 0.0 to 1.0. |
reasoning | string | Detailed analysis and reasoning behind the recommendation. |
key_considerations | string[] | Most important factors the agent weighed. |
risks | string[] | Risks identified by this agent. |
dissenting_points | string[] | Points where this agent disagrees with the likely consensus. |
duration | number | Time in seconds this agent took to respond. |
tokens | number | Total tokens used by this agent (prompt + completion). |
/api/panels
List all available panels with their agent compositions, descriptions, and metadata. Use the returned slugs as the panel parameter in POST /api/council/run.
/api/agents
List all 284+ available agents with their metadata, expertise tags, default weights, and descriptions. Useful for building custom panels or understanding which specialists are available.
/api/council/platform-status
Check the current default model being used by the platform. Returns the active model name and whether the platform is using the primary model or a fallback.
/api/council/model-specs
Get context window sizes and capabilities for all supported models. Useful for determining which models fit your query length requirements.
Multi-step decision pipelines with human checkpoints. Chain multiple council sessions together in a structured sequence.
/api/workflows/templates
List all available workflow templates (built-in and custom). Returns template name, slug, description, step count, and category for each.
/api/workflows/templates/{slug}
Get full details for a specific workflow template, including all steps, panels used per step, example queries, and estimated duration.
/api/workflows/start
Start a new workflow session from a template. The first step begins immediately. Use the returned session ID to poll for progress and advance through checkpoints.
Request body| Field | Type | Required | Description |
|---|---|---|---|
template | string | Yes | Workflow template slug (e.g. "due-diligence", "tdd-coding"). |
context | string | Yes | User-provided context and goal for the workflow. This is injected into every step. |
model_override | string | No | Override the model for all steps. |
/api/workflows/sessions/{session_id}
Poll a workflow session for status. Returns current step, completed step results, and whether a human checkpoint is pending approval.
/api/workflows/sessions/{session_id}/advance
Approve or reject a checkpoint in a workflow. When a step completes, the workflow pauses at a checkpoint for human review. Call this to advance to the next step or reject and re-run the current step with adjusted context.
Request body| Field | Type | Required | Description |
|---|---|---|---|
action | string | Yes | "approve" to advance to the next step, or "reject" to re-run the current step. |
feedback | string | No | Optional feedback or adjusted context. Injected into the next step's prompt. |
/api/workflows/parse-goal
Submit a natural language goal and get a recommended workflow template match. Useful for building chat-style interfaces where users describe what they want to accomplish.
Request body| Field | Type | Required | Description |
|---|---|---|---|
goal | string | Yes | Natural language description of what the user wants to accomplish. |
/api/workflows/templates
Create a custom workflow template. Define the steps, panels, checkpoint rules, and context injection for each stage. Pro tier required.
/api/workflows/templates/{slug}
Update an existing custom workflow template. You can only update templates you own.
/api/workflows/templates/{slug}
Delete a custom workflow template. Built-in templates cannot be deleted.
Schedule workflows to run automatically on a recurring basis. Useful for periodic reviews, monitoring, and automated reporting.
/api/workflows/schedules
List all your workflow schedules with their configuration, next run time, and status.
/api/workflows/schedules
Create a new workflow schedule. Specify the template, context, and cron expression for recurring execution.
Request body| Field | Type | Required | Description |
|---|---|---|---|
template_slug | string | Yes | Workflow template to execute on schedule. |
context | string | Yes | Context passed to the workflow on each run. |
cron | string | Yes | Cron expression (e.g. "0 9 * * 1" for every Monday at 9am). |
enabled | boolean | No | Whether the schedule is active. Default: true. |
/api/workflows/schedules/{schedule_id}
Update an existing workflow schedule. Change the cron expression, context, or enable/disable it.
/api/workflows/schedules/{schedule_id}
Delete a workflow schedule. Any currently running instance will complete, but no new runs will be triggered.
Access past council sessions and their full results. Public sessions are accessible at /s/{session_id} in the browser.
/api/history
List your past council sessions with metadata (query, panel, timestamp, status). Paginated. Returns most recent first.
/api/history/{session_id}
Get the full results of a past session -- the same data that powers the /s/{session_id} shareable link. Includes the complete synthesis, all agent results, and metadata.
Manage your account settings, provider API keys, model preferences, and developer API keys.
/api/settings
Get your current settings including configured provider API keys (masked), default model preference, and synthesis strategy.
/api/settings
Update your settings. Set provider API keys (Anthropic, OpenAI, Google, etc.), default model, and other preferences. Keys are stored encrypted.
/api/v1/keys
Generate a new developer API key. Requires JWT auth (not API key auth). The key is returned once and cannot be retrieved again -- store it immediately.
Request body| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | A descriptive name for the key (e.g. "Production server", "CI pipeline"). |
/api/v1/keys
List your developer API keys. Returns key ID, name, creation date, and last-used timestamp. The full key is not returned (only the prefix).
A simplified interface for programmatic access. Uses the /api/v1/ prefix with API key authentication only. Designed for integrations, automation pipelines, and AI agent toolchains.
Authorization: Bearer mc_<your_key>.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/councils/run |
Start a council query. Same as /api/council/run but with API key auth. |
| GET | /api/v1/councils/sessions/{id} |
Poll session status and retrieve full results. |
| POST | /api/v1/query |
Synchronous query -- blocks until the council completes and returns results inline. Simpler but slower. |
| POST | /api/v1/query/async |
Asynchronous query -- returns a job_id immediately. Poll with GET /api/v1/query/{job_id}. |
| GET | /api/v1/query/{job_id} |
Get results for an async query job. |
| GET | /api/v1/agents |
List all available agents with metadata and expertise tags. |
| GET | /api/v1/agents/{slug} |
Get detailed info for a specific agent. |
| GET | /api/v1/panels |
List all available panels with agent counts and descriptions. |
| GET | /api/v1/settings |
Get your account settings. |
| PUT | /api/v1/settings |
Update provider API keys and model preferences. |
| POST | /api/v1/keys |
Create a new API key (requires JWT auth). |
| GET | /api/v1/keys |
List your API keys (requires JWT auth). |
| DELETE | /api/v1/keys/{key_id} |
Revoke an API key. |
/api/v1/councils/run| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | The question or decision to deliberate on. |
panel |
string | No | Panel slug (default: "default"). Use "auto" for AI panel selection, "dynamic" for MMR agent matching. |
model |
string | No | Override the model for all agents in this run (requires matching API key in settings). |
council_id |
string | No | Custom council ID to use instead of a named panel. |
is_private |
boolean | No | Mark the session as private (default: false). |
| Status | Meaning |
|---|---|
running | Agents are analyzing the query in parallel. |
synthesizing | All agents finished; the synthesis step is combining results. |
completed | Done. The synthesis and agents fields contain full results. |
failed | An error occurred. Check the error field. |
Use Meta Council as a tool from Claude Code, Cursor, Windsurf, or any MCP-compatible AI agent.
The Meta Council MCP (Model Context Protocol) server exposes 10 tools that let AI agents convene councils, list panels and agents, retrieve session results, and configure settings -- all without leaving their workflow.
| Tool | Description |
|---|---|
convene_council | Run a full council query and get the synthesis + agent results. |
list_panels | List available panels with descriptions. |
list_agents | List available agents with expertise tags. |
recommend_panel | AI-powered panel recommendation for a given query. |
get_session | Retrieve results from a past session. |
get_agent_detail | Get full details for a specific agent. |
get_settings | View current account settings. |
configure_model | Change the default model. |
configure_provider_key | Set or update a provider API key. |
configure_tool_key | Set or update a tool API key. |
See mcp/README.md for the full setup guide and usage examples.
All errors return a consistent JSON format with an appropriate HTTP status code.
| Code | Meaning | Common causes |
|---|---|---|
400 | Bad Request | Missing required field, invalid JSON, malformed request body. |
401 | Unauthorized | Missing or invalid Authorization header. JWT expired. API key revoked. |
403 | Forbidden | Valid auth but insufficient permissions. Free tier trying to access Pro features. |
404 | Not Found | Session ID, panel slug, or agent slug does not exist. |
429 | Too Many Requests | Rate limit exceeded. Check X-RateLimit-Reset header for when to retry. |
500 | Internal Server Error | Unexpected server error. Retry after a brief delay. Contact support if persistent. |
Every response includes these headers when rate limiting is active:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window. |
X-RateLimit-Remaining | Requests remaining in the current window. |
X-RateLimit-Reset | Unix timestamp when the rate limit window resets. |
Speed up your workflow with these keyboard shortcuts.
Run Meta Council entirely on your own hardware. Nothing leaves your machine.
One command starts the web app + local AI model:
# After receiving your self-hosted package:
cd meta-council
docker compose up
Open http://localhost:8080. Ollama downloads Qwen 2.5 7B (~4.5 GB) on first run.
| Requirement | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB+ |
| Disk | 10 GB free | 20 GB+ |
| GPU | Not required | NVIDIA (2-10x faster) |
Native application for Mac, Windows, and Linux. Double-click to launch — auto-detects local Ollama for free inference.
cd desktop
npm install
npm start
Build installers: npm run build:mac / build:win / build:linux
For environments with no internet access:
ollama pull qwen2.5:7b| Model | VRAM | Speed | Quality |
|---|---|---|---|
| Qwen 2.5 7B (default) | 6 GB | ~30 tok/s | Good |
| Qwen 2.5 14B | 12 GB | ~15 tok/s | Better |
| Qwen 3 32B | 24 GB | ~8 tok/s | Best |
Contact [email protected] for self-hosted access and the complete setup guide.