Évalue la qualité des descriptions des outils d'un MCP server pour les agents IA à l'aide d'un linter open-source et d'un CLI.
Aussi connu sous forecall/forecall-cli, forecall
- Étoiles
- 0
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 18 oct. 2026
- Licence
- Apache-2.0
Qu'est-ce que forecall-cli MCP ?
forecall-cli est un serveur MCP. Évalue la qualité des descriptions des outils d'un MCP server pour les agents IA à l'aide d'un linter open-source et d'un CLI.
Résumé généré à partir du README du projet
À propos du MCP server forecall-cli
La fonction principale de forecall-cli est d'évaluer la capacité des agents IA à comprendre les outils de votre MCP server. Cet outil open-source utilise un linter pour noter les descriptions d'outils selon six critères spécifiques, notamment l'objectif, le contexte d'utilisation, la description des arguments et les valeurs de retour. Il aide les développeurs à identifier des problèmes tels que des descriptions trop courtes, des contraintes manquantes ou un manque d'exemples, ce qui peut entraîner des erreurs de l'agent.
Les développeurs peuvent exécuter le linter localement via la commande forecall avec npx pour analyser un fichier tools.json. Le CLI fournit un retour détaillé sur les scores de chaque outil ainsi que sur les problèmes affectant l'ensemble du serveur. Il peut être intégré dans des pipelines CI/CD via GitHub Actions pour échouer automatiquement les builds si les scores descendent en dessous des seuils définis par les flags --fail-under ou --min-tool-score. Le processus est privé, car rien ne quitte votre machine pendant le linting, et aucune clé API n'est requise pour une utilisation locale.
Ce que vous pouvez faire avec
- 1Auditer les descriptions d'outilsVérifiez un fichier tools.json pour voir avec quelle précision un agent IA peut interpréter les fonctions de votre serveur.
- 2Identifier les détails d'arguments manquantsTrouvez les paramètres spécifiques qui manquent de descriptions, de contraintes ou d'exemples pour l'IA.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer forecall-cli MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller forecall-cli MCP dans Claude Code
$ claude mcp add forecall-cli -- npx -y forecallInstaller forecall-cli MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Installer forecall-cli MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"forecall-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Installer forecall-cli MCP dans VS Code CLI
$ code --add-mcp '{"name":"forecall-cli","type":"stdio","command":"npx","args":["-y","forecall"]}'Installer forecall-cli MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Installer forecall-cli MCP dans Codex
$ codex mcp add forecall-cli -- npx -y forecallInstaller forecall-cli MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.forecall-cli] command = "npx" args = ["-y", "forecall"]
Installer forecall-cli MCP dans Gemini CLI
$ gemini mcp add -s user forecall-cli npx -- -y forecallInstaller forecall-cli MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Vérifications automatisées
Exécuté le 15 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessibleforecall/forecall-cli is public and reachablegithub.com/forecall/forecall-cli ↗Réussi
- Le nom du package correspond au dépôt sourceforecall names forecall/forecall-cli as sourcenpmjs.com/package/forecall ↗Réussi
- Provenance du build (attestation Sigstore)Sigstore attestation for forecallnpmjs.com/package/forecall/v/0.8.1#provenance ↗Réussi
- Licence open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-10-18github.com/forecall/forecall-cli ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNo popular package one edit away from forecallRéussi
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur 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.
Questions sur forecall-cli MCP
Comment ajouter forecall-cli MCP à Claude Code ?
Exécutez claude mcp add forecall-cli -- npx -y forecall dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter forecall-cli MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Comment puis-je évaluer mes outils de MCP server ?
Vous pouvez utiliser la commande npx forecall lint tools.json pour exécuter le linter sur votre fichier de définition d'outils.
L'outil envoie-t-il mes données vers un serveur externe ?
Non, le linter est conçu de manière à ce que rien ne quitte votre machine.
Puis-je utiliser cela dans un pipeline CI/CD ?
Oui, vous pouvez utiliser la GitHub Action Forecall pour évaluer vos outils à chaque pull request et définir des seuils de qualité.
Quelles métriques sont utilisées pour évaluer un outil ?
Chaque outil est noté sur 100 en fonction de son objectif, de son contexte d'utilisation, de ses arguments, de ses valeurs de retour, de ses contraintes/effets de bord et de ses exemples.