MEAH (Multi External Agent Harness)
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEAH_WEB | No | Set to true to run the web console alongside the MCP server (e.g. MEAH_WEB=true npm run mcp). | false |
| MEAH_LOG_LEVEL | No | Log level: debug, info, warn, error, or silent. Logs are written to stderr as structured JSON. | info |
| MEAH_GLM_API_KEY | No | Your actual GLM API key. MEAH never stores or serializes this value. | |
| MEAH_AICREDITS_API_KEY | No | Your actual aicredits API key. | |
| MEAH_PROVIDER_GLM_MODEL | No | Default model for the GLM provider (e.g. glm-4.5-air). | |
| MEAH_ROLE_CODER_PROVIDER | No | Provider to use for the coder role. | |
| MEAH_ROLE_DEBUGGER_MODEL | No | Model to use for the debugger role. | |
| MEAH_PROVIDER_GLM_BASE_URL | No | Base URL for the GLM provider (e.g. https://api.z.ai/api/paas/v4). Used only when the GLM provider is configured. | |
| MEAH_ROLE_DEBUGGER_PROVIDER | No | Provider to use for the debugger role. | |
| MEAH_ROLE_REVIEWER_PROVIDER | No | Provider to use for the reviewer role. | |
| MEAH_PROVIDER_AICREDITS_MODEL | No | Default model for the aicredits provider (e.g. z-ai/glm-4.7). | |
| MEAH_PROVIDER_GLM_API_KEY_ENV | No | Name of the environment variable that holds the GLM API key (e.g. MEAH_GLM_API_KEY). MEAH reads process.env[apiKeyEnv] at call time. | |
| MEAH_ROLE_RESEARCHER_PROVIDER | No | Provider to use for the researcher role (e.g. glm or aicredits). | |
| MEAH_ROLE_SUMMARIZER_PROVIDER | No | Provider to use for the summarizer role. | |
| MEAH_PROVIDER_AICREDITS_BASE_URL | No | Base URL for the aicredits provider (e.g. https://aicredits.in/v1). Used only when the aicredits provider is configured. | |
| MEAH_PROVIDER_AICREDITS_API_KEY_ENV | No | Name of the environment variable that holds the aicredits API key (e.g. MEAH_AICREDITS_API_KEY). | |
| MEAH_ROLE_DEBUGGER_MAX_OUTPUT_TOKENS | No | Output token budget for the debugger role (make this a string; numeric values are converted). |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| meah_list_modelsA | List locally configured external providers, their models, role routing defaults, and runtime limits. Never returns API keys. |
| meah_run_agentA | Start one isolated external worker and return immediately with its workerId. Poll meah_get_agent for the result. Supply only the context the worker needs. |
| meah_delegate_taskA | Run one isolated external worker and wait for its result. Routes by role unless provider/model are given. Returns normalized text, usage, and errors. |
| meah_parallel_agentsA | Run up to 16 isolated workers concurrently (bounded by defaults.maxConcurrent) and return all results in request order. Partial failures are reported per worker. |
| meah_get_agentA | Get the current state, timestamps, and (when finished) the result or normalized error for a worker. Results can be read repeatedly. |
| meah_list_agentsA | List every worker known to this MEAH process, optionally filtered by lifecycle state. |
| meah_cancel_agentA | Abort a queued or running worker: the provider request and any child process are aborted and the worker moves to state "cancelled". Optionally removes its workspace. |
| meah_cleanup_workspaceA | Delete the isolated workspace directory of a finished worker. The worker record itself is kept. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Tools are mostly distinct: list_models vs list_agents, get_agent vs cancel_agent, and parallel_agents are clearly separated. However, meah_run_agent and meah_delegate_task both start 'one isolated external worker' and differ mainly in async vs sync behavior, which could initially confuse selection. Descriptions do clarify the distinction, so overlap is minor.
Almost all names follow a consistent meah_verb_noun pattern: list_models, get_agent, run_agent, delegate_task, list_agents, cancel_agent, cleanup_workspace. The outlier is meah_parallel_agents, which uses an adjective_noun form instead of a verb. This is a minor deviation in an otherwise predictable scheme.
Eight tools are well-scoped for an external agent harness, covering discovery, execution (sync, async, parallel), monitoring, cancellation, and workspace cleanup. No tool feels redundant or missing from a count perspective. The set is appropriately sized.
The surface covers the full worker lifecycle: listing models, running agents (single/parallel), polling state, listing agents, cancelling, and cleaning workspaces. A minor gap is the lack of tools to modify provider/model configuration or role routing defaults, which are only readable. This is a small omission agents can likely work around via external configuration.