Skip to main content
Glama
mentu-ai

MetaMCP

Official
by mentu-ai

MetaMCP

npm version Node.js License CI

MetaMCP — это безопасный шлюз по требованию для «длинного хвоста» MCP-серверов. Он предоставляет MCP-клиенту три стабильных инструмента:

  • mcp_discover находит настроенные серверы, кэшированные схемы инструментов и проверенные Methods, не запуская каждый дочерний процесс.

  • mcp_call лениво вызывает один явно указанный дочерний инструмент.

  • mcp_run выполняет ограниченный, проверяемый по схеме декларативный Method.

MetaMCP сознательно не является заменой каждого прямого MCP-подключения. Держите важные, часто используемые, компактные или строго аутентифицированные MCP-серверы прямыми. Помещайте нерегулярные long-tail серверы за MetaMCP, а повторяющиеся многошаговые ритуалы превращайте в Methods.

                               ┌─ direct: GitHub / Codex Apps / core runtime
MCP client ────────────────────┤
                               └─ MetaMCP (3 tools)
                                    ├─ discover cached capabilities
                                    ├─ call one lazy child
                                    └─ run reviewed Methods

Когда использовать какой путь

Путь

Лучшее применение

Почему

Прямой MCP

Высокочастотные, компактные, критичные для безопасности или базовые серверы

Сохраняет типизированные схемы, нативную аутентификацию и явные одобрения

mcp_discover + mcp_call

Длинный хвост или нерегулярные возможности

Держит поверхность клиента небольшой, не скрывая язык ассемблера

mcp_run

Повторяющиеся рабочие процессы Acquire → Normalize → Analyze

Делает ограниченное поведение тестируемым, версионируемым и создающим доказательства

Не маршрутизируйте биллинг, мутацию инфраструктуры, идентичность или другой сервер с высокими последствиями через MetaMCP только для уменьшения количества инструментов. Правильная граница — операционная, а не идеологическая.

Related MCP server: mcp-gateway

Быстрый старт

Требуется Node.js 20 или новее.

npx @mentu/metamcp@latest --config .mcp.json

Проверьте полную поверхность, видимую модели, перед настройкой клиента:

npx @mentu/metamcp@latest tools
npx @mentu/metamcp@latest tools --json

Инспектор читает те же определения, которые возвращает MCP tools/list, а затем завершает работу до загрузки конфигурации, открытия хранилища, запуска дочернего процесса или привязки транспорта. --json включает полные входные схемы для автоматизированного ревью и сравнения версий.

Создайте .mcp.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem@2026.7.10", "/path/to/allowed/files"]
    },
    "internal-api": {
      "command": "node",
      "args": ["./servers/internal-api.js"],
      "env": { "API_TOKEN": "${INTERNAL_API_TOKEN}" },
      "inheritEnv": ["HTTP_PROXY"]
    }
  }
}

Дочерние серверы запускаются только при явном обновлении, вызове или использовании в Method. Обычное обнаружение читает конфигурацию и кэшированные схемы; оно не порождает все дочерние процессы.

Имена серверов — это стабильные идентификаторы кэша и должны содержать 1–128 букв, цифр, точек, подчёркиваний или дефисов; разделители путей и имена, похожие на обход каталогов, отклоняются.

Безопасная настройка клиента

init доступен только для предпросмотра, если не указан --yes. Без именованного клиента он рассматривает только существующие файлы конфигурации клиента.

metamcp init                         # preview, no writes
metamcp init --client Codex          # preview one client
metamcp init --client Codex --yes    # apply atomically and write a .bak

Некорректный JSON отклоняется и остаётся нетронутым. Именованный клиент может быть создан явно; MetaMCP никогда не создаёт все поддерживаемые конфигурации клиентов по умолчанию.

Для ручной настройки клиента используйте абсолютный путь, чтобы шлюз не зависел от рабочего каталога клиента:

{
  "mcpServers": {
    "metamcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mentu/metamcp@latest",
        "--config",
        "/absolute/path/to/.mcp.json"
      ]
    }
  }
}

@latest удобен для оценки. Зафиксируйте @mentu/metamcp@1.0.0 в контролируемых средах, чтобы обновления были осознанными и проверяемыми.

Три инструмента

Discover

{ "query": "capture screenshot", "kind": "tool" }

Обнаружение ищет только в живых или кэшированных схемах. Чтобы обновить один сервер из его живого списка инструментов:

{ "server": "browser", "refresh": true }

refresh без сервера отклоняется, чтобы агент не мог случайно развернуться по всей конфигурации.

Call

{
  "server": "browser",
  "tool": "capture_page",
  "args": { "url": "https://example.com" },
  "timeoutMs": 60000
}

MetaMCP никогда автоматически не повторяет дочерний вызов после тайм-аута или сбоя транспорта. Дочерний процесс мог выполнить мутацию до потери ответа. Поздний Method может повторить попытку только в том случае, если его манифест явно объявляет этот шаг idempotency: "safe".

Run a Method

Поместите JSON-манифесты в .metamcp/methods/ или передайте --methods <directory>. Имена дочернего сервера и инструментов ниже являются иллюстративными; привяжите их к проверенным серверам в вашей собственной конфигурации:

{
  "apiVersion": "metamcp.io/v1alpha1",
  "kind": "Method",
  "metadata": {
    "name": "content.acquire-and-normalize",
    "version": "1.0.0",
    "description": "Acquire content and normalize it into a stable record"
  },
  "spec": {
    "effects": "read",
    "inputSchema": {
      "type": "object",
      "properties": { "url": { "type": "string" } },
      "required": ["url"],
      "additionalProperties": false
    },
    "steps": [
      {
        "id": "acquire",
        "server": "fetch",
        "tool": "fetch",
        "args": { "url": "${input.url}" }
      },
      {
        "id": "normalize",
        "server": "content",
        "tool": "normalize",
        "dependsOn": ["acquire"],
        "args": { "document": "${steps.acquire.structuredContent}" }
      }
    ],
    "output": "${steps.normalize.structuredContent}"
  }
}

Затем вызовите:

{ "method": "content.acquire-and-normalize", "input": { "url": "https://example.com" } }

Methods являются декларативными, а не произвольным JavaScript. Они имеют ограниченное количество шагов, сроки и размеры вывода; входные/выходные JSON-схемы; явные эффекты чтения/записи; безопасную интерполяцию; типизированные пробелы; и пошаговый трассировку. Methods с записью или смешанными эффектами отключены, если оператор шлюза не запустит MetaMCP с --allow-writes.

См. Method Mode, схему манифеста и пример Method. Дизайн обобщает уровень согласованности, описанный в Crawlio Method Mode.

Конфигурация и секреты

Ссылки ${NAME} в env и HTTP headers по умолчанию разрешаются из окружения хоста. Нераспознанная ссылка приводит к сбою при запуске; она никогда не передаётся дочернему процессу как буквальный заполнитель.

MetaMCP не копирует своё окружение в дочерние процессы stdio. Он наследует только небольшой разрешённый список времени выполнения (PATH, переменные домашнего/временного/локального каталога и эквиваленты платформы), переменные, указанные в inheritEnv, и значения, явно заданные в блоке env дочернего процесса. Встраивающие системы могут установить собственный SecretProvider для связки ключей или хранилища.

Обнаружение по умолчанию — локальный поиск по ключевым словам. Чтобы включить семантический поиск на базе Voyage, явно задайте METAMCP_VOYAGE_API_KEY; тогда запросы обнаружения будут отправляться в Voyage, и будет включён необязательный локальный векторный индекс SQLite. Переменные окружения ANTHROPIC_API_KEY или VOYAGE_API_KEY никогда не активируют сетевые вызовы.

Удалённые дочерние серверы используют url, transportType, headers и существующие поля OAuth:

{
  "mcpServers": {
    "remote": {
      "url": "https://mcp.example.com/mcp",
      "transportType": "http",
      "headers": { "Authorization": "Bearer ${REMOTE_TOKEN}" }
    }
  }
}

HTTP-шлюз

HTTP-режим по умолчанию привязывается к 127.0.0.1:

metamcp --transport http --port 8080 --config .mcp.json

Неаутентифицированная привязка не к loopback завершается с ошибкой. Настройте проверку OAuth resource-server или METAMCP_HTTP_BEARER_TOKEN перед открытием слушателя. Браузерные запросы с заголовком Origin отклоняются, если точный источник не указан с помощью --allow-origin или METAMCP_ALLOWED_ORIGINS.

MetaMCP обслуживает устаревших MCP-клиентов и конверт без сохранения состояния от 2026-07-28 через stdio и Streamable HTTP. См. Architecture для поддерживаемой границы и рекомендаций по развёртыванию.

Доказательства

Завершённые попытки mcp_call и mcp_run сериализуются в .metamcp/ledger.jsonl. Экспортируйте переносимый пакет с хэш-связями:

metamcp export-evidence \
  --ledger .metamcp/ledger.jsonl \
  --out .metamcp/evidence-bundle.json

metamcp export-evidence --out .metamcp/evidence-bundle.json --verify

Операционный журнал — это не система удалённой аттестации. Экспорт обнаруживает последующие изменения внутри пакета; он не доказывает, что скомпрометированный хост записал каждое событие.

Необязательная галерея

Пакет по-прежнему включает галерею серверов, управляемую человеком:

metamcp add --list
metamcp add playwright sentry --config .mcp.json

Среда выполнения никогда не устанавливает пакеты в ответ на вызов инструмента MCP. Установка остаётся явным действием CLI/пользователя.

Обновление с 0.x

Версия 1.0 намеренно удаляет инструменты предоставления, советов по навыкам и выполнения JavaScript, видимые модели. Она также изменяет HTTP-привязку, наследование окружения дочерних процессов, повторные попытки и init. Прочтите Migration to 1.0 перед обновлением.

Безопасность

Дочерние MCP-серверы — это доверенный локальный или удалённый код со своими собственными разрешениями. MetaMCP — это граница политики и жизненного цикла, а не песочница ОС для недоверенных пакетов. Проверяйте команды, фиксируйте пакеты там, где это уместно, ограничивайте учётные данные для каждого дочернего процесса и держите опасные прямые серверы за одобрением человека на стороне клиента.

Сообщайте об уязвимостях конфиденциально, как описано в SECURITY.md.

Разработка

npm ci
npm run typecheck
npm test
./scripts/smoke-test.sh
npm run check:release
npm pack --dry-run

npm publish снова запускает полный шлюз verify:release. Шлюз выводит публичную поверхность инструментов из собранного CLI и проверяет пакет, lockfile, журнал изменений и официальные метаданные реестра MCP на предмет расхождения версий.

Лицензия Apache-2.0. Поддерживается Mentu AI.

Available Tools

6 tools
mcp_callB

Forward a tool call to a specific child MCP server. Retries once on crash.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments to pass to the tool
toolYesTool name to call
serverYesTarget server name

TDQS

B3.2/5.0
Behavior3/5

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

Discloses retry behavior once on crash, which is useful. But with no annotations, the description does not mention side effects, permissions, or whether the operation is destructive. The retry detail is positive but incomplete.

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 sentences with no waste. The main action and key behavior (retry) are front-loaded. Every sentence serves a purpose.

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

Completeness2/5

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

With no output schema and subjective complexity medium, the description omits important context: what happens if the server is unreachable, what the return value is, and any rate limits or error handling details. Only minimal forwarding and retry are covered.

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 100%, so the schema already describes all parameters. The description adds no additional meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool forwards a tool call to a child MCP server and retries on crash. It uses a specific verb and resource, but does not explicitly contrast with sibling tools like mcp_execute or mcp_discover.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description lacks context about prerequisites, alternatives, or scenarios where this tool is preferred.

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

mcp_discoverA

Search tool catalogs across all child MCP servers + list server status. If no query, returns server list with status and tool counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch query for tools
serverNoFilter to a specific server

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the tool as performing read operations (search and list), but does not disclose any behavioral traits like authentication requirements, rate limits, or potential side effects. It is adequate but lacks depth.

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, concise, and front-loaded with the core purpose. Every sentence adds value, with no wasted words.

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 description covers both modes of the tool (search and list server status) and explains what happens when no query is provided. No output schema is given, but the description implies the return structure sufficiently.

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 100% with both parameters described. The description adds some context by explaining the no-query behavior, but does not substantially enhance the parameter definitions beyond what the schema provides.

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 searches tool catalogs across child MCP servers and lists server status. It uses the verb 'discover' and distinguishes from siblings like mcp_call (which likely calls a tool) and mcp_skill_discover (which discovers skills).

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 explains two usage modes: with a query (search) and without a query (list server status). It provides context on when to use each, though it does not explicitly say when not to use or mention alternatives.

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

mcp_executeA

Code-mode execution in V8 sandbox. Access provisioned servers via servers.<name>.call(tool, args). Supports async/await, sleep(ms), console.log.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode to execute

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description shoulders full burden. It discloses sandboxing, async/await, sleep, and server access, but omits details like error handling, return value format, persistence, or side effects.

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 sentences, front-loaded with purpose, every sentence adds value. No redundant or extraneous information.

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

Completeness2/5

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

Lacks critical details for a code execution tool: what is returned (execution result), restrictions (network, filesystem), lifecycle (one-shot), and output capture. Relies heavily on inferred context from sibling tools.

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?

Schema only describes 'code' as 'Code to execute'. Description adds significant context: V8 sandbox, ability to use async/await, sleep, console.log, and call provisioned servers. This goes beyond the bare 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?

Description clearly states it executes code in a V8 sandbox, with explicit mention of accessing provisioned servers. This distinguishes it from sibling tools like mcp_call which directly call server tools.

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

Usage Guidelines3/5

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

The description implies usage for running arbitrary JavaScript with sandbox access, and contrasts with direct server calls by showing servers.<name>.call syntax. However, it lacks explicit when-to-use vs. alternatives guidance.

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

mcp_provisionB

Intent-based provisioning. Describe what you need, MetaMCP resolves and provisions the right server.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYesWhat capability you need
contextNoAdditional context for resolution
autoProvisionNoAuto-provision if trusted (default: false)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must fully explain behavior. It mentions intent-based provisioning but lacks details on side effects (e.g., resource creation, persistence), permissions required, or potential destructive actions.

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

Conciseness4/5

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

Single sentence is concise and front-loaded with core purpose. However, for a provisioning tool, it may be too terse, lacking necessary detail.

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

Completeness2/5

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

With only 3 simple parameters and no output schema, the description is too brief for a provisioning action. It does not describe return values, success indicators, or consequences, leaving the agent to infer too much.

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 100%, so baseline is 3. Description adds no extra meaning beyond the schema descriptions; no examples or clarifications on intent format.

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?

Description clearly states it is for provisioning servers based on intent ('Describe what you need, MetaMCP resolves and provisions the right server'). Distinct from siblings like mcp_discover or mcp_call which focus on discovery or execution.

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

Usage Guidelines3/5

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

No explicit guidance on when to use vs alternatives. Usage is implied: for provisioning when you know the desired capability. Lacks exclusion criteria or prerequisites.

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

mcp_skill_adviseA

Pre-flight readiness check for a skill. Returns MCP server availability and recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillYesSkill name to check

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It reveals that the tool returns 'MCP server availability and recommendations', which is useful. However, it does not disclose edge cases (e.g., skill not found), permissions needed, or potential side effects.

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 concise sentence that effectively conveys the purpose and output without unnecessary words.

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 simplicity of the tool (1 param, no output schema), the description is mostly adequate. It explains the return value, but could be more complete by mentioning that it is non-destructive or clarifying what 'recommendations' entails.

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 description coverage is 100% for the single parameter 'skill'. The description adds no extra meaning beyond what the schema already provides, meeting the baseline of 3.

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 it is a 'Pre-flight readiness check for a skill', specifying the verb and resource. It distinguishes from siblings like mcp_skill_discover (discovery) and mcp_call (execution) by focusing on readiness checking.

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

Usage Guidelines3/5

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

The description implies use before calling or executing a skill, but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned despite having several sibling tools.

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

mcp_skill_discoverA

Search Claude Code skills with MCP readiness status. Returns skills matching query with their required MCP servers and availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for skills
domainNoFilter by domain (e.g. browser_automation, monitoring)

TDQS

A4/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 and discloses that results include required MCP servers and availability—key behavioral traits. It does not mention auth or rate limits, which is acceptable for a read-only search 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, efficient sentence that immediately conveys the core purpose and key output details.

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?

For a search tool with no output schema, the description provides reasonable completeness by listing what is returned (skills, required servers, availability). It could be improved by noting pagination or result limits.

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 100% and the schema descriptions for 'query' and 'domain' are adequate. The tool description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate.

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 searches Claude Code skills, specifies the 'MCP readiness status' criterion, and indicates the return includes required MCP servers and availability. This distinguishes it from sibling tools like mcp_skill_advise and mcp_discover.

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

Usage Guidelines3/5

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

The description implies the tool should be used when searching for skills with MCP readiness, but provides no explicit guidance on when not to use it or how it compares to other search/discovery tools.

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.5.0
    • First observedmcp_call
    • First observedmcp_discover
    • First observedmcp_execute
    • First observedmcp_provision
    • First observedmcp_skill_advise
    • First observedmcp_skill_discover

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: discovery of servers/tools, provisioning, forwarding tool calls, code execution, skill discovery, and skill readiness checking. No two tools have overlapping functionality.

Naming Consistency5/5

All tools follow the 'mcp_<verb>' pattern, with skill-specific tools adding 'skill_' for clarity. The naming is consistent and predictable.

Tool Count5/5

With 6 tools, the set is well-scoped for a meta-server. It covers the essential operations without being excessive or insufficient.

Completeness4/5

The tool surface covers discovery, provisioning, calling, execution, and skill support. Minor gaps exist (e.g., no explicit unprovisioning or server management), but core agent workflows are well-supported.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

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

  • F
    license
    Not graded
    quality
    B
    maintenance
    Aggregates multiple child MCP servers into a single MCP server endpoint, enabling clients to use various tools (e.g., filesystem, Brave Search) through one interface.
    19
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Aggregates multiple MCP servers into a single endpoint, enabling LLM clients to access tools, resources, and prompts from various backends through one connection.
    18
    MIT

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/mentu-ai/metamcp'

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