agent-orchestrator
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HF_TOKEN | No | Hugging Face read token for downloading gated models. | |
| GROQ_API_KEY | No | API key for the Groq backend example. | |
| RADIUS_SECRET | No | Shared secret for RAdIUS authentication. | |
| WORKSPACE_CWD | No | Working directory used as the default write allowlist. | |
| CURSOR_API_KEY | No | API key for the Cursor backend. | |
| GEMINI_API_KEY | No | API key for the Gemini backend (example apiKeyEnv name). | |
| LDAP_BIND_PASSWORD | No | Password for the LDAP service bind DN. | |
| HUGGING_FACE_HUB_TOKEN | No | Alternative Hugging Face token variable also honored. | |
| AGENT_ORCHESTRATOR_CONFIG | No | Path to the agents.config.yaml file. | |
| AGENT_ORCHESTRATOR_GUI_PORT | No | Port for the web GUI and HTTP MCP endpoint (default 8787). | 8787 |
| AGENT_ORCHESTRATOR_LDAP_URL | No | LDAPS URL for Active Directory authentication, e.g. ldaps://dc.example.com:636. | |
| AGENT_ORCHESTRATOR_MCP_AUTH | No | Authentication modes for the MCP endpoint (e.g. local-token,ldap or local-token,radius). | local-token |
| AGENT_ORCHESTRATOR_MCP_PORT | No | Port for the dedicated HTTP MCP server (default 8790). | 8790 |
| AGENT_ORCHESTRATOR_STATE_DIR | No | Directory for orchestrator state (default .orchestrator under repo). | |
| AGENT_ORCHESTRATOR_LDAP_FILTER | No | LDAP search filter, e.g. (sAMAccountName={username}). | |
| AGENT_ORCHESTRATOR_RADIUS_HOST | No | RADIUS server hostname for ClearPass or Cisco ISE. | |
| AGENT_ORCHESTRATOR_RADIUS_PORT | No | RADIUS server port (default 1812). | |
| AGENT_ORCHESTRATOR_LDAP_BASE_DN | No | LDAP base DN, e.g. DC=example,DC=com. | |
| AGENT_ORCHESTRATOR_LDAP_BIND_DN | No | LDAP bind DN template, e.g. CN={username},CN=Users,DC=example,DC=com. | |
| AGENT_ORCHESTRATOR_LDAP_ALLOWED_GROUPS | No | Comma-separated list of allowed AD groups for MCP access. | |
| AGENT_ORCHESTRATOR_RADIUS_ALLOWED_FILTER_IDS | No | Comma-separated list of allowed RAdIUS Filter-Ids. | |
| AGENT_ORCHESTRATOR_LDAP_TLS_REJECT_UNAUTHORIZED | No | Set to 0 to disable TLS certificate verification in lab environments. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_agentsA | List specialist agents, backends (Cursor + external), workflows, write-allowlist directories, default cwd, and local-runtime status (hardware summary, vLLM running vs stopped, Cursor cloud / CURSOR_API_KEY). Call this before dispatching work so you pick a ready backend. Re-reads .env and GUI secrets on each call so newly added keys take effect without restarting Cursor. Local Cursor agents may only write inside allowed directories. Cloud Cursor agents cannot reach local vLLM; use local-and-cloud or cloud-with-local-draft workflows. |
| dispatchA | Send a task to one specialist. Prefer chat_send for natural language so the orchestrator auto-routes (including round-table debate). Cursor local backends can edit files only inside the write allowlist. |
| chat_sendA | Send a natural-language message through the same auto-router the GUI uses. Default pin is auto: hardware/vLLM/allowlist questions hit control tools; build/fix/review/plan with two or more ready backends (including Cursor) runs a round-table. pin=debate forces every ready local server plus ready Cursor/Gemini/cloud specialists to answer (Late MCP uses this). Implement/install stays plan-only until the user Approves (pendingApproval on the thread). Q&A and debate text are not blocked. pin=single or a backend id skips debate. File writes never go to vLLM. Assistant messages include speaker id, nickname, and a loopback logoUrl when a logo is set. |
| chat_approveA | Approve or reject pending implement/install actions from chat_send. Until Approve, Cursor stays plan-only (no writes, no Unity/apt/sudo). After Approve, the closer may write only inside the allowlisted cwd. Optional comment is stored on the thread. |
| chat_listA | List persisted GUI/MCP chat threads (id, title, agents, updatedAt). |
| chat_getA | Read one chat thread (messages, speakers, pending approval). Includes busy=true while debate/single is still running so clients can poll instead of blocking on chat_send wait. |
| run_workflowA | Run a named multi-agent pipeline. Built-in: ship-feature (planner → builder → reviewer), troubleshoot-pr (pr-triage → builder → reviewer), local-and-cloud (vLLM + Cursor cloud in parallel), cloud-with-local-draft (vLLM draft then cloud builder). Each sequential step sees prior output. Parallel recipes collect both results. Local file writes still require an allowed cwd. Cloud agents never call localhost vLLM. |
| follow_upA | Continue an existing specialist run. Cursor backends resume the same agent (full conversation + workspace). External backends continue with stored chat history. |
| get_runA | Fetch status and output for a dispatch or workflow step by run id. |
| list_runsA | List recent orchestrated runs, newest first. |
| list_allowed_dirsA | List directories local Cursor agents may write to, plus the default cwd. The workspace is granted by default until you add more. |
| add_allowed_dirA | Grant a directory for local Cursor agent file writes. The path is resolved with realpath (symlink escapes are rejected) and must already exist. |
| remove_allowed_dirA | Revoke a previously granted write directory. Local Cursor dispatch will fail if cwd is no longer allowed. |
| list_hardwareA | Summarize discrete GPUs for local model serving (NVIDIA, AMD, Intel, or CPU if none), with VRAM, primaryBackend, and any local vendor Docker images for serving. |
| list_local_modelsA | Every curated open-weight chat model for local vLLM (full catalog, not a short slice): fit flags for this GPU (weights + ~20% KV headroom), newest Hub id when a family has several names, downloaded under the allowlisted models dir, and every running loopback vLLM instance (backend id, port, image). |
| recommend_local_modelsA | Every catalog model for local vLLM, with fit flags for the GPUs on this computer (fits / needs tensor parallel / too big). Newest Hub id is marked when a family has several names (Qwen3.8 over Qwen2.5, Gemma 4 over Gemma 2/3, Llama 4/3.3 over 3.1). Nothing is hidden. Without an accelerator, only tiny CPU-feasible entries fit. |
| download_local_modelA | Download a catalog model (or Hugging Face org/name repo) into the allowlisted models directory (default .orchestrator/models). Large; requires an explicit model_id. Honors HF_TOKEN / HUGGING_FACE_HUB_TOKEN for gated repos. dry_run only checks the destination path. |
| start_vllmA | Launch a local OpenAI-compatible server bound to 127.0.0.1 only (never 0.0.0.0). Each catalog model gets its own Docker container, port in 8000–8099, backend id (vllm- from the catalog id, e.g. vllm-qwen25-7b-instruct), and specialist. Tensor-parallels across every GPU only when the catalog fit needs more than one card; models that fit a single GPU stay at --tensor-parallel-size 1. Pass use_all_gpus=false to pin to one GPU even when the model is larger. Does not stop other orchestrator vLLM containers unless replace=true (restarts this model only). On intel-xpu, if intel/llm-scaler-vllm or intel/vllm:*xpu is local, starts that container (API published as 127.0.0.1:port:8000). Model must already be downloaded. Waits until GET /v1/models is healthy, upserts that backend + specialist, and stores a dummy loopback Bearer in gitignored GUI secrets if needed (never copy a key from vLLM). Cloud agents still cannot reach this server. |
| stop_vllmA | Stop one orchestrator-managed vLLM instance (container or host process group). Pass model_id or backend_id to leave other running models up. If several are running and neither id is set, the call fails unless all=true. Does not stop unrelated Docker containers (including a leftover orch-vllm you did not start this way). |
| remove_vllmA | Stop one vLLM instance and unregister its backend and specialist from agents.config.yaml. Other running models stay up. Does not delete downloaded weights. |
| delete_local_modelA | Permanently delete a downloaded snapshot from the allowlisted models directory. Stops that model if it is running. Requires confirm=true. Does not unregister other backends. |
| vllm_statusA | All orchestrator-managed vLLM instances (image, port, model, backend id, container) plus whether a serving stack is installed (including local Intel Docker images). |
| ollama_statusA | Probe a loopback Ollama daemon (default http://127.0.0.1:11434). Lists tags when it is running. Does not install Ollama. Non-loopback URLs are rejected. |
| llamacpp_statusA | Probe a loopback llama.cpp llama-server OpenAI API (default http://127.0.0.1:8080/v1). Does not download GGUF files or start a process. Non-loopback URLs are rejected. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| ship-feature | Plan, implement, and review a feature with the orchestrated agent team |
| troubleshoot-pr | Diagnose a PR, patch it, then review |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| agent-catalog | Current specialists, backends, workflows, and write allowlist |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Unaware-Kerbin/agent-orchestrator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server