Avalia o quão bem as ferramentas de um MCP server estão descritas para agentes de IA usando um linter open-source e CLI.
Também conhecido como forecall/forecall-cli, forecall
- Stars
- 0
- Ferramentas
- —
- Downloads, 30 dias
- —
- Versão mais recente
- —
- Último commit
- 18 de out. de 2026
- Licença
- Apache-2.0
O que é o MCP forecall-cli?
forecall-cli é um MCP server. Avalia o quão bem as ferramentas de um MCP server estão descritas para agentes de IA usando um linter open-source e CLI.
Resumo gerado a partir do README do projeto
Sobre o MCP server de forecall-cli
A função principal do forecall-cli é avaliar o quão bem os agentes de IA compreendem as ferramentas do seu MCP server. Esta ferramenta open-source utiliza um linter para pontuar descrições de ferramentas com base em seis critérios específicos, incluindo propósito, contexto de uso, descrições de argumentos e valores de retorno. Ela ajuda desenvolvedores a identificar problemas como descrições muito curtas, falta de restrições ou ausência de exemplos, o que pode causar erros nos agentes.
Desenvolvedores podem rodar o linter localmente usando o comando forecall via npx para analisar um arquivo tools.json. O CLI fornece feedback detalhado sobre as pontuações de ferramentas individuais e problemas em todo o servidor. Ele pode ser integrado a pipelines de CI/CD usando GitHub Actions para falhar builds automaticamente caso as pontuações fiquem abaixo de limites específicos definidos pelas flags --fail-under ou --min-tool-score. O processo é privado, pois nada sai da sua máquina durante o processo de linting, e nenhuma API key é necessária para o uso local.
O que você pode fazer com ele
- 1Auditar descrições de ferramentasVerifique um arquivo tools.json para ver o quão bem um agente de IA consegue interpretar as funções do seu servidor.
- 2Identificar detalhes de argumentos ausentesEncontre parâmetros específicos que carecem de descrições, restrições ou exemplos para a IA.
Escrito a partir do README do projeto. Cada caso de uso é verificado com uma citação dele.
Como instalar o MCP forecall-cli
Formatos verificados em 10 nov 2026Adicionar ao CursorAdicionar ao GooseInstalar o MCP forecall-cli no Claude Code
$ claude mcp add forecall-cli -- npx -y forecallInstalar o MCP forecall-cli no Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Instalar o MCP forecall-cli no VS Code
.vscode/mcp.json
{
"servers": {
"forecall-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Instalar o MCP forecall-cli no VS Code CLI
$ code --add-mcp '{"name":"forecall-cli","type":"stdio","command":"npx","args":["-y","forecall"]}'Instalar o MCP forecall-cli no Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Instalar o MCP forecall-cli no Codex
$ codex mcp add forecall-cli -- npx -y forecallInstalar o MCP forecall-cli no Codex config.toml
~/.codex/config.toml
[mcp_servers.forecall-cli] command = "npx" args = ["-y", "forecall"]
Instalar o MCP forecall-cli no Gemini CLI
$ gemini mcp add -s user forecall-cli npx -- -y forecallInstalar o MCP forecall-cli no Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Verificações automatizadas
Executado em 15 de nov. de 2026Relatório completo →Passou em nossas verificações automatizadas. Isso não é uma auditoria de segurança: leia o código e dê ao servidor o acesso mais restrito de que ele precisa. Como as verificações funcionam
- Repositório de origem vinculado e acessívelforecall/forecall-cli is public and reachablegithub.com/forecall/forecall-cli ↗Passou
- O pacote indica este repositório como sua origemforecall names forecall/forecall-cli as sourcenpmjs.com/package/forecall ↗Passou
- Proveniência da build (atestação Sigstore)Sigstore attestation for forecallnpmjs.com/package/forecall/v/0.8.1#provenance ↗Passou
- Licença de código aberto (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Passou
- Commit ou release no último anoLast commit or release 2026-10-18github.com/forecall/forecall-cli ↗Passou
- OpenSSF ScorecardNão verificado
- Nome do pacote não é próximo a um pacote popularNo popular package one edit away from forecallPassou
- Nenhum aviso crítico no pacote ou em suas dependênciasNão verificado
- Sem instruções ocultas para o modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPassou
- Ferramentas destrutivas estão rotuladasNão verificado
- O endpoint remoto responde ao handshake do MCPNão verificado
README
Ver no GitHubForecall CLI
The open-source parts of Forecall: the linter that scores how well an MCP
server's tools are described for the AI agents that read them, and the forecall command that runs
it on your machine and connects your AI clients to the Forecall Failure KB.
npx forecall lint tools.json
Forecall lint · tools.json
Scoring rules v2
Average score 42.5 / 100
Tools 2
Near-identical descriptions 0
Across the server
No server-wide issues.
Tools
6 / 100 search
Purpose 6/20 · When to use 0/20 · Arguments 0/25 · Return value 0/15 · Constraints and side effects 0/10 · Examples 0/10
Major restates_name The description only restates the name (2 words).
Major too_short The description is too short (2 words).
Major no_usage_context Says nothing about when to use it, or when not to.
Major param_no_description Arguments without a description: q.
Minor loose_string_param String arguments with no constraint or example: q.
Minor no_required No `required` list, so every argument is optional.
Minor no_return_info Says nothing about what it returns.
Minor no_constraints No constraints, side effects, auth or rate limits described, and no annotations.
79 / 100 get_forecast
Purpose 17/20 · When to use 20/20 · Arguments 18/25 · Return value 7/15 · Constraints and side effects 7/10 · Examples 10/10
No issues.
{
"tools": [
{
"name": "search",
"description": "Search records.",
"inputSchema": { "type": "object", "properties": { "q": { "type": "string" } } }
},
{
"name": "get_forecast",
"description": "Returns the weather forecast for a city for the next 7 days, with the high and low temperature in Celsius for each day. Use it when the user asks about upcoming weather; for the current conditions, use get_current_weather instead. Example: city \"Tokyo\", days 3.",
"inputSchema": {
"type": "object",
"properties": {
"city": { "type": "string", "description": "The city's name, such as Tokyo." },
"days": { "type": "integer", "minimum": 1, "maximum": 7, "description": "How many days to return, 1 to 7." }
},
"required": ["city"]
},
"annotations": { "readOnlyHint": true }
}
]
}
Each tool is scored out of 100 on six parts, and the server as a whole is checked for too many
tools, near-identical descriptions and shared descriptions. Nothing leaves your machine. --json prints
the report as JSON. --fail-under <n> fails a CI job when the average is below n,
--min-tool-score <n> when any tool is, and --fail-on <severity> on any issue that severe. Get the
JSON from your own server with npx forecall dump, or paste it at
forecall.dev/en/lint for a page you can share.
| Package | npm | What it is |
|---|---|---|
packages/cli |
forecall |
The command: lint, dump, setup and hook |
packages/lint |
@forecall/lint |
The scoring, with no dependencies and no network |
How to use them: forecall.dev/en/docs/cli and each package's README. The Forecall service itself (the website, the dashboard, the API and the Failure KB's server) is not in this repository.
GitHub Action
Score your tools on every pull request, with the score and the findings in the job summary:
- uses: forecall/forecall-cli@v1
with:
file: tools.json # or url: https://… (a public Streamable HTTP server)
# or command: node build/index.js (your server over stdio)
min-tool-score: 40 # optional gates, as in the CLI
fail-on: critical
| Input | What it does |
|---|---|
file |
A tools/list JSON file, as forecall lint reads it |
url |
A public Streamable HTTP server to ask for its tools/list (forecall dump <url>) |
command |
A command that starts your server over stdio (forecall dump -- sh -c <command>) |
fail-under, min-tool-score, fail-on |
The CLI's gates: fail the step below an average, below a tool's score, or on a finding that severe |
lang |
en or ja for the report in the log (the job summary is in English) |
version |
The forecall version from npm (pinned by each release of the action) |
Give exactly one of file, url and command. The outputs are score (the average), tools
and report (the JSON report's path). It needs Node 22 or later on the runner, sends nothing to
Forecall and needs no key.
Development
The versions of Node.js and pnpm are in mise.toml.
mise install
pnpm install
pnpm check # Biome, the type checks and the tests of both packages and the action
pnpm formatformats and fixes what Biome can.pnpm --filter forecall buildwrites the command topackages/cli/dist/forecall.js; run it withnode packages/cli/dist/forecall.js lint <file>.node packages/lint/pack.ts <dir>andnode packages/cli/pack.ts <dir>make the tarballs npm would get, andscripts/try-package.sh <lint|cli> <tarball>installs one and runs it.LINT_VERSIONinpackages/lint/lint.tsis the version of the scoring rules. Any change that can give some input a different score, component, issue code or severity raises it, and updates the expected results inpackages/lint/fixtures/cases.json.
Releases
A pull request that raises a package's version starts the Release workflow when it lands on
main. The workflow stages every version npm does not have yet (@forecall/lint first) with
provenance, and each goes live only when a maintainer approves it on npm with 2FA. Maintainers can
also run the workflow by hand on main and pick one package.
The action is released apart from the packages: a maintainer publishes a GitHub Release v1.x.y
to the Marketplace and moves the v1 tag to it. A release that raises the action's pinned
forecall version says so, since a new rules version can move scores past a gate.
Contributing and security
See CONTRIBUTING.md. Report vulnerabilities privately, as SECURITY.md says, not in a public issue.
License
Apache-2.0. Copyright 2026 Mirai Studio, Inc. See LICENSE.
Perguntas sobre o MCP forecall-cli
Como adiciono o MCP forecall-cli ao Claude Code?
Execute claude mcp add forecall-cli -- npx -y forecall no seu terminal. Adicione --scope user para torná-lo disponível em todos os projetos.
Como adiciono o MCP forecall-cli ao Cursor?
Abra ~/.cursor/mcp.json e adicione o servidor em mcpServers, usando a configuração do Cursor mostrada na seção de instalação acima.
Como posso pontuar as ferramentas do meu MCP server?
Você pode usar o comando npx forecall lint tools.json para rodar o linter no seu arquivo de definição de ferramentas.
A ferramenta envia meus dados para um servidor externo?
Não, o linter foi projetado para que nada saia da sua máquina.
Posso usar isso em um pipeline de CI/CD?
Sim, você pode usar a Forecall GitHub Action para pontuar suas ferramentas em cada pull request e definir quality gates.
Quais métricas são usadas para pontuar uma ferramenta?
Cada ferramenta é pontuada de 0 a 100 com base em propósito, contexto de uso, argumentos, valores de retorno, restrições/efeitos colaterais e exemplos.