Skip to main content
Glama

multi-model-companion

CI License: MIT Python 3.12+

Local MCP server that lets Claude Code delegate bounded, read-only tasks to external models through CLIProxyAPI:

  • OpenAI Codex (ChatGPT / Codex subscription via OAuth)

  • xAI Grok (Grok subscription via OAuth)

  • Local OpenAI-compatible models (vLLM, Ollama, LM Studio, llama.cpp, …)

  • Optionally any other backend CLIProxyAPI exposes (Kimi, OpenRouter, API keys, …)

Claude stays the coordinator: it decomposes work, selects models and context, verifies output, edits files, and runs tests. Companion models receive only the context you send and return text — they cannot run shell, read your disk, modify the repo, or use your credentials.

Native Claude Code
        │  MCP (stdio)
        ▼
multi-model-companion
        │  OpenAI-compatible HTTP
        ▼
CLIProxyAPI  (127.0.0.1:8317)
   ├── Codex OAuth     → GPT / Codex models
   ├── xAI OAuth       → Grok models
   ├── Kimi OAuth      → Kimi models (optional)
   └── openai-compatibility → local vLLM / Ollama / …

Why MCP instead of the official Codex Claude Code plugin?

Short version: one uniform multi-provider bridge beats one CLI wrapper per vendor for everyday review, analysis, local-model routing, and multi-model compare. Keep a CLI plugin (or bare Codex CLI) only for rare write-mode “go implement this yourself” rescue tasks.

Full write-up (rephrased from a real migration off a Codex/Grok plugin stack):

Upstream plugin reference: openai/codex-plugin-cc.

Related MCP server: mcp-local-llm

Requirements

  • Python ≥ 3.12

  • uv

  • CLIProxyAPI running locally

  • At least one configured backend (OAuth login and/or local OpenAI-compatible server)

  • Claude Code CLI

Quickstart

git clone https://github.com/<you>/multi-model-companion.git
cd multi-model-companion
cp .env.example .env   # set CLIPROXY_API_KEY and model IDs
uv sync --extra dev
  1. Install and start CLIProxyAPI — docs/01-cliproxyapi-setup.md

  2. Log in to subscriptions you want — docs/02-subscription-logins.md

  3. Optionally wire a local model — docs/03-local-models.md

  4. Register the MCP server with Claude Code — docs/04-claude-code-mcp.md

Confirm models from the proxy:

curl -s \
  -H "Authorization: Bearer $CLIPROXY_API_KEY" \
  "${CLIPROXY_BASE_URL:-http://127.0.0.1:8317/v1}/models" \
  | jq -r '.data[].id' | sort

Set CODEX_MODEL, GROK_MODEL, and DEEPSEEK_MODEL in .env to IDs that actually appear in that list.

MCP tools

Tool

Purpose

delegate_analysis

Debugging hypotheses, architecture, research synthesis

delegate_review

Read-only code review of a supplied diff/excerpt

delegate_patch

Propose a minimal unified diff (never applies it)

compare_models

Same question to 2–3 providers in parallel

list_companion_models

Configured IDs vs what CLIProxyAPI currently exposes

health_check

Connectivity check (no inference)

Providers in this package: codex, grok, deepseek (the third slot is intended for your local OpenAI-compatible model; rename via env).

Model routing (house defaults)

Core policy:

  1. Prefer a local / cheap model (deepseek slot) for anything that fits supplied context.

  2. Escalate to Codex / Grok only on evidence (thin output, fuzzy spec, high blast radius).

  3. Claude verifies every material claim and applies every change itself.

  4. Never put secrets, .env, or key material in delegated context.

Configuration

See .env.example. Required:

CLIPROXY_API_KEY=replace-with-a-long-random-client-key

Optional model overrides (examples — use IDs from your /v1/models list):

CLIPROXY_BASE_URL=http://127.0.0.1:8317/v1
CODEX_MODEL=gpt-5.6-codex
GROK_MODEL=grok-4
DEEPSEEK_MODEL=local/my-local-model

Example CLIProxyAPI + MCP snippets:

Security model

  • Read-only delegation — no tool runs shell or writes files.

  • Outbound context is redacted for common secret patterns and truncated.

  • Repository content is wrapped as untrusted data in the prompt.

  • Logs are metadata-only (provider, model, mode, sizes, status) — never full prompts, keys, or responses.

  • Keep CLIProxyAPI bound to 127.0.0.1.

Details: docs/05-security.md.

Validation

uv sync --extra dev
uv run pytest -v
uv run ruff check src tests scripts
uv run python scripts/smoke_stdio.py   # no live models required

Live path (CLIProxyAPI + backends up):

export CLIPROXY_API_KEY=...
uv run python scripts/e2e_live.py

Optional independent audit prompt: docs/validation-prompt.md.

Project layout

src/multi_model_companion/   # MCP server + CLIProxy client
tests/                       # unit tests (httpx mocked)
scripts/                     # smoke + optional live e2e
docs/                        # setup guides + MCP vs plugin rationale
examples/                    # sample CLIProxyAPI + MCP configs
CLAUDE.md                    # drop into a project for routing defaults
MODEL_ROUTING.md             # longer routing rationale

Docs index

Doc

Topic

docs/01-cliproxyapi-setup.md

Install / run the proxy

docs/02-subscription-logins.md

Codex, Grok, Kimi OAuth

docs/03-local-models.md

vLLM, Ollama, tunnels

docs/04-claude-code-mcp.md

Wire MCP into Claude Code

docs/05-security.md

Threat model and controls

docs/06-mcp-vs-plugin.md

Why MCP over CLI plugins

Contributing

See CONTRIBUTING.md. Please read SECURITY.md before reporting vulnerabilities, and CODE_OF_CONDUCT.md for community expectations.

Release notes: CHANGELOG.md.

License

MIT — see LICENSE.

Available Tools

6 tools
compare_modelsA

Ask two or three external models the same question in parallel.

Use when independent opinions materially improve confidence. Claude must compare the outputs, verify claims against the repository, and synthesize the final conclusion.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoanalysis
taskYesOne concrete question to send to all selected models.
contextNoShared bounded context. Do not include secrets.
providersNo
reasoning_effortNo
max_output_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
taskYes
resultsYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool operates in parallel, Claude synthesizes outputs, verifies against the repository, and produces a final conclusion. However, it does not mention side effects, cost, rate limits, or data privacy risks of sending questions to external models—important for a tool that makes external calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core action, and every sentence contributes meaning. It is concise without sacrificing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (external calls, comparison, synthesis) and the absence of annotations, the description provides the core workflow but lacks operational context such as error handling, latency, cost, or permission implications. An output schema exists, so return values need not be described, but the description is still somewhat thin for a tool with side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, and the description adds minimal parameter-level detail. It implies 'task' is the shared question and 'providers' maps to 'two or three external models', but it does not clarify the meaning of 'mode', 'reasoning_effort', or 'max_output_tokens'. The description does not compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool asks two or three external models the same question in parallel, which is a specific verb+resource+scope. It also describes the follow-up actions (compare, verify, synthesize), making it distinct from sibling delegation tools that likely send to a single model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit 'Use when' condition: 'independent opinions materially improve confidence.' It implies this tool is for high-stakes or ambiguous tasks, but does not explicitly name alternatives or exclusions. This is clear enough for an agent to decide when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delegate_analysisA

Ask Codex, Grok, or local DeepSeek for independent analysis.

Use for debugging hypotheses, architecture evaluation, repository reasoning, or a second opinion. The external model cannot inspect files beyond the supplied context and cannot modify the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesConcrete analysis question for the external model.
contextNoBounded repository context selected by Claude. Do not include credentials or unrelated files.
providerYes
reasoning_effortNo
max_output_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
modelYes
statusYes
contentNo
providerYes
redactionsNo
content_sourceNo
elapsed_secondsYes
truncated_contextNo
truncated_responseNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states that the external model cannot inspect files beyond the supplied context and cannot modify the workspace, which are critical safety and scope constraints. It could mention data privacy or network dependencies, but the key behavioral traits are effectively conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the primary action, followed by use cases and limitations. Every sentence adds unique value, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (external model call, 5 parameters) and the presence of an output schema, the description provides adequate context: purpose, use cases, and key limitations. It does not explain potential async behavior, cost implications, or failure modes, but those are not essential for basic selection and invocation, especially with the output schema present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 40%, so the description should compensate for undocumented parameters. The description clarifies the purpose of the context parameter ('cannot inspect files beyond the supplied context') and implicitly explains the provider parameter by naming Codex, Grok, and DeepSeek. However, it does not elaborate on reasoning_effort or max_output_tokens, which remain vague without additional schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Ask Codex, Grok, or local DeepSeek for independent analysis.' It also lists concrete use cases (debugging hypotheses, architecture evaluation, repository reasoning, second opinion) that distinguish it from siblings like delegate_review and delegate_patch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('Use for debugging hypotheses, architecture evaluation, repository reasoning, or a second opinion') and provides clear context for its applicability. It does not name alternative tools or include explicit when-not-to-use conditions, but the use-case list is sufficiently specific to guide an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delegate_patchA

Ask an external model to propose a minimal unified diff.

This tool does not apply changes. Claude must inspect, validate, apply, format, test, and review any proposed patch.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesExact change requested, constraints, and acceptance criteria.
contextYesFiles, excerpts, interfaces, and tests required to propose the patch.
providerYes
reasoning_effortNo
max_output_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
modelYes
statusYes
contentNo
providerYes
redactionsNo
content_sourceNo
elapsed_secondsYes
truncated_contextNo
truncated_responseNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It meaningfully warns that the tool only proposes a patch and does not apply it, and it outlines Claude's responsibility to inspect, validate, apply, format, test, and review. This is a critical behavioral trait that goes beyond the tool's name. It doesn't cover costs or rate limits, but the main surprise factor is addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long. The first sentence conveys the core purpose, and the second delivers the essential caveat about not applying changes. Every word is meaningful; there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is well-scoped with an output schema, and the description clearly explains what the tool does and what it does not do. The missing guidance on provider selection and optional parameters is a minor gap, but the core context needed for a delegation tool is present. Overall, it is fairly complete for an agent to assess whether to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is only 40% (task and context have descriptions), yet the tool description adds no parameter-level guidance. It doesn't explain what 'provider' options mean, what 'reasoning_effort' controls, or how 'max_output_tokens' should be set. With low schema coverage, the description was expected to compensate but did not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Ask an external model') and a specific deliverable ('a minimal unified diff'), and explicitly notes that the tool does not apply changes. This clearly distinguishes it from the sibling tools delegate_analysis and delegate_review, which likely focus on analysis and review rather than patch generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use this tool: when an external perspective on a minimal diff is needed. It also states a key exclusion ('does not apply changes') and the follow-up steps Claude must take. However, it does not explicitly name alternatives like 'delegate_analysis' for analytic tasks, so it lacks explicit when-to-use-other-tools guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delegate_reviewA

Request a read-only code review from one external model.

Use for correctness, regression, security, concurrency, data-loss, or missing-test review. Claude must verify each material finding.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesReview objective, risk area, or acceptance criteria.
providerYes
diff_or_contextYesBounded diff or source context to review. Exclude secrets and generated files.
reasoning_effortNo
max_output_tokensNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
modelYes
statusYes
contentNo
providerYes
redactionsNo
content_sourceNo
elapsed_secondsYes
truncated_contextNo
truncated_responseNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses 'read-only' behavior, which is a key safety trait, and prescribes a verification workflow ('Claude must verify each material finding'). It does not detail external model quirks or error behaviors, but for a read-only review tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded purpose and clearly scoped usage examples. Every sentence earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has moderate complexity (5 parameters, output schema) and the description covers the primary use cases and safety constraints. It does not explain the difference from delegate_analysis, but the output schema and clear purpose make it complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40% (only task and diff_or_context are described). The description adds no parameter-level guidance, leaving reasoning_effort and max_output_tokens to be inferred from names/enums. The description does not compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Request a read-only code review from one external model.' It clearly distinguishes from sibling tools like delegate_patch and delegate_analysis by specifying 'read-only code review' and 'one external model.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases: 'correctness, regression, security, concurrency, data-loss, or missing-test review.' It also instructs that Claude must verify each material finding, but it does not mention when not to use the tool or name alternatives, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkA

Verify connectivity to CLIProxyAPI and availability of configured companion models. This performs no model inference.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly states that the tool performs no model inference, signaling a lightweight, read-only operation. It does not detail output structure or potential error behaviors, but these are less critical given the tool has no parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence states the primary purpose, and the second adds a meaningful constraint ('no model inference') without unnecessary filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and the presence of an output schema, the description is sufficient to understand the tool's scope and behavior. It correctly sets expectations for connectivity and availability checks without promising inference or model interactions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4 per the rubric. The description provides no parameter information because none is needed; there is nothing to clarify beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Verify') and names the exact resources (CLIProxyAPI connectivity and companion model availability). It clearly distinguishes its purpose from siblings like list_companion_models, which would list models rather than check their health.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when you need to verify connectivity to CLIProxyAPI and availability of companion models. It does not explicitly exclude alternatives or state 'when not to use', but the unique purpose is clear enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_companion_modelsA

List model IDs exposed by CLIProxyAPI and show whether the configured Codex, Grok, and DeepSeek models are currently available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of transparency. It discloses the main behavior: listing IDs and reporting availability status. It is a read-only operation; the description's wording implies no side effects, which is adequate for a simple listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence that leads with the action and resource. Every word contributes meaning, with no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully explains the tool's purpose for a zero-parameter list operation. Since an output schema exists, it does not need to detail return values. The mention of specific configured models adds necessary context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema coverage (empty object). Per the rules, the baseline for 0 params is 4, and the description correctly does not add unnecessary param information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('list') with a clear resource ('model IDs exposed by CLIProxyAPI') and adds the availability check for specific configured models. This clearly distinguishes it from sibling tools like delegate_* and compare_models.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys clear usage context by stating it lists model IDs and checks availability of Codex, Grok, and DeepSeek models. It does not explicitly mention alternatives or when not to use it, but for a zero-parameter listing tool the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedcompare_models
    • First observeddelegate_analysis
    • First observeddelegate_patch
    • First observeddelegate_review
    • First observedhealth_check
    • First observedlist_companion_models

TDQS

A4.1/5.0
Disambiguation4/5

Each tool has a distinct primary purpose: analysis, review, patch, comparison, listing, and health checking. The slight overlap between delegate_analysis and delegate_review is mitigated by clear use-case descriptions, and list_companion_models/health_check serve different aspects of availability.

Naming Consistency4/5

Most names follow a verb_noun pattern (delegate_*, compare_models, list_companion_models), but health_check deviates from the verb-first convention and could be check_health. Overall the pattern is consistent enough to be predictable.

Tool Count5/5

Six tools is a well-scoped set for a multi-model companion server. Each tool covers a distinct capability without redundancy or bloat.

Completeness4/5

The server covers the primary workflows: delegating analysis, review, patch generation, multi-model comparison, and status checks. Minor gaps exist, such as no explicit tool for configuring models or retrieving detailed model metadata, but the core functionality is complete.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Local MCP server that wraps the headless Claude Code CLI as MCP tools, providing stateless access to Claude's coding capabilities through prompt-based interactions. It enables users to execute Claude Code commands with various prompt formats and structured outputs directly from MCP clients.
    3
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Zero-dependency MCP server that provides AI models with secure read/write/exec access to local files and directories over HTTP and SSE, designed to be tunneled via ngrok for integration with Claude Web.
    -

Latest Blog Posts

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/Reederey87/multi-model-companion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server