mcp-llm-bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HF_TOKEN | No | HuggingFace token for private repos in model discovery | |
| OLLAMA_URL | No | Ollama API endpoint | http://localhost:11434 |
| EMBEDDER_MODE | No | Embedding mode: 'local' uses Xenova transformer, 'api' forces OpenAI API | local |
| LM_STUDIO_URL | No | LM Studio API endpoint | http://localhost:1234 |
| OPENAI_API_KEY | No | Fallback API embedder key for semantic code search | |
| VOYAGE_API_KEY | No | Alternative API embedder key for semantic code search | |
| LATENCY_ROUTING | No | Enables latency-based routing (set to 'true') | |
| MCP_SERVERS_DIR | No | Directory for dynamic MCP server plugins | ./mcp-servers |
| LLM_GATEWAY_PORT | No | HTTP server port | 3456 |
| FALLBACK_STRATEGY | No | Enables free-model fallback routing (e.g., 'free-models') | |
| LOCAL_LLM_ENABLED | No | Enable local LLM routing (set to 'true') | false |
| FREE_MODEL_CATALOG | No | Loads the free-model catalog at startup (set to 'true') | |
| LLM_GATEWAY_DB_PATH | No | SQLite vault path | ~/.llm-gateway/vault.db |
| MCP_DYNAMIC_SERVERS | No | Enable dynamic MCP server plugins (set to 'true') | |
| AUTO_DISCOVER_MODELS | No | Enable HF auto-discovery of local models at startup | false |
| TRANSFORMERS_OFFLINE | No | Set to '1' to use only cached HuggingFace model, skip download | |
| MODEL_ROUTING_ENABLED | No | Enable model routing (set to 'true') | |
| LLM_GATEWAY_AUTH_TOKEN | No | Bearer token for HTTP routes, must be at least 32 characters | |
| LLM_GATEWAY_MASTER_KEY | No | 64-char hex key, otherwise auto-generated and saved to ~/.llm-gateway/master.key | |
| MAX_COMPARISON_COST_USD | No | Caps comparison-service spending | |
| ENABLE_OUTPUT_COMPRESSION | No | Enable RTK-style output compression | true |
| LLM_GATEWAY_AUTH_REQUIRED | No | Force auth on or off explicitly | |
| OPTIMIZE_MESSAGES_ENABLED | No | Enable three-part prompt optimization | true |
| LLM_GATEWAY_SECURITY_PROFILE | No | Security profile for MCP tool exposure: local-dev, restricted, or open | local-dev |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| llm_generateA | Generate text using an LLM. Routes to the best available provider with automatic fallback. Supports three-part prompts (system/context/instruction) for improved quality. |
| vault_storeB | Store an API key in the encrypted credential vault. Upserts by (provider, keyName, project). |
| vault_listA | List all stored credentials with masked values. Optionally filter by project. |
| vault_deleteB | Delete a stored credential by its ID. |
| llm_modelsB | List all available models across registered providers. |
| vault_store_fileA | Store an auth file (e.g. auth.json) in the encrypted vault. Upserts by (provider, fileName, project). |
| vault_list_filesB | List all stored auth files (metadata only). Optionally filter by project. |
| vault_delete_fileB | Delete a stored auth file by its ID. |
| list_groupsA | List all provider groups for load balancing. |
| create_groupB | Create a new provider group for load balancing. |
| delete_groupB | Delete a provider group by its ID. |
| configure_circuit_breakerB | Configure circuit breaker settings. Updates thresholds and backoff for all breakers. |
| circuit_breaker_statsA | Get circuit breaker stats for all providers. Shows state, failures, successes, cooldown. |
| usage_summaryB | Get cost/usage summary. Returns total requests, tokens, cost, with optional breakdown by provider, model, project, hour, or day. |
| usage_queryC | Query individual usage records with filters. Returns raw usage log entries. |
| code_searchB | Search code semantically. Finds functions, classes, and blocks matching a query using keyword + fuzzy matching. Optionally follows imports for related code. |
| index_codebaseA | Index a codebase directory for semantic code search. Scans files, extracts functions/classes/blocks, and builds an in-memory search index. |
| shared_stateA | CRDT-based shared state for multi-agent collaboration. Supports conflict-free read/write/merge with G-Counter (token tracking), LWW-Register (agent status), and OR-Set (shared findings). |
| approval_listB | List pending approval requests. |
| approval_approveB | Approve a pending request by ID. |
| approval_denyA | Deny a pending request by ID. |
| local_llm_generateA | Generate text using a local LLM (Ollama/LM Studio) for offloadable tasks. Falls back to cloud provider if local LLM is unavailable. |
| discover_modelsA | Discover local LLM models and enrich them with HuggingFace metadata. Returns enriched model list with capabilities and recommended tasks. |
| conversation_paginateA | Divide a long conversation into navigable pages. Use this when conversation exceeds safe context limits. |
| conversation_get_pageC | Get a specific page from a paginated conversation |
| conversation_contextA | Get a page with surrounding context pages. Use this for reading with context. |
| conversation_navigateC | Navigate to next, previous, first, or last page |
| conversation_infoA | Get info about a paginated conversation: total pages, total tokens, etc. |
| conversation_find_relevantC | Find pages relevant to a query using keyword matching |
| conversation_check_compactionB | Check if conversation needs compaction for given model context limit |
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 30 tools
Each tool has a clearly distinct purpose due to domain-specific prefixes and action verbs. Overlaps like llm_generate and local_llm_generate are well-differentiated by descriptions indicating local vs. cloud routing.
All tools follow a consistent snake_case pattern with a domain prefix (e.g., vault_, conversation_) followed by a verb_noun combination. No mixing of conventions or ambiguous names.
30 tools is on the higher side but each domain (approval, circuit breakers, code search, conversation, groups, LLM generation, shared state, usage, vault) has a reasonable number of tools. The count reflects the server's broad scope without excessive bloat.
Most domains have adequate CRUD coverage (e.g., vault store/list/delete, conversation pagination, usage query/summary). Minor gaps exist (no group update, no approval request creation), but core workflows are supported.