Memberikan skor seberapa baik deskripsi tool pada MCP server dapat dipahami oleh AI agent menggunakan linter open-source dan CLI.
Juga dikenal sebagai forecall/forecall-cli, forecall
- Stars
- 0
- Tools
- —
- Unduhan, 30 hari
- —
- Versi terbaru
- —
- Commit terakhir
- 18 Okt 2026
- Lisensi
- Apache-2.0
Apa itu forecall-cli MCP?
forecall-cli adalah MCP server. Memberikan skor seberapa baik deskripsi tool pada MCP server dapat dipahami oleh AI agent menggunakan linter open-source dan CLI.
Ringkasan dibuat dari README proyek
Tentang forecall-cli MCP server
Fungsi utama dari forecall-cli adalah mengevaluasi seberapa baik AI agent memahami tool pada MCP server Anda. Tool open-source ini menggunakan linter untuk memberikan skor pada deskripsi tool berdasarkan enam kriteria spesifik, termasuk tujuan, konteks penggunaan, deskripsi argumen, dan nilai kembalian. Ini membantu developer mengidentifikasi masalah seperti deskripsi yang terlalu singkat, kurangnya batasan, atau tidak adanya contoh, yang dapat menyebabkan error pada agent.
Developer dapat menjalankan linter secara lokal menggunakan perintah forecall via npx untuk menganalisis file tools.json. CLI ini memberikan feedback mendetail mengenai skor masing-masing tool maupun masalah pada level server. Tool ini dapat diintegrasikan ke dalam pipeline CI/CD menggunakan GitHub Actions untuk secara otomatis menggagalkan build jika skor turun di bawah ambang batas tertentu yang ditetapkan melalui flag --fail-under atau --min-tool-score. Proses ini bersifat privat karena tidak ada data yang keluar dari mesin Anda selama proses linting, dan tidak memerlukan API key untuk penggunaan lokal.
Apa yang bisa Anda lakukan dengannya
- 1Audit deskripsi toolPeriksa file tools.json untuk melihat seberapa baik AI agent dapat menginterpretasikan fungsi server Anda.
- 2Identifikasi detail argumen yang hilangTemukan parameter spesifik yang kekurangan deskripsi, batasan, atau contoh untuk AI.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal forecall-cli MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal forecall-cli MCP di Claude Code
$ claude mcp add forecall-cli -- npx -y forecallInstal forecall-cli MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Instal forecall-cli MCP di VS Code
.vscode/mcp.json
{
"servers": {
"forecall-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Instal forecall-cli MCP di VS Code CLI
$ code --add-mcp '{"name":"forecall-cli","type":"stdio","command":"npx","args":["-y","forecall"]}'Instal forecall-cli MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Instal forecall-cli MCP di Codex
$ codex mcp add forecall-cli -- npx -y forecallInstal forecall-cli MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.forecall-cli] command = "npx" args = ["-y", "forecall"]
Instal forecall-cli MCP di Gemini CLI
$ gemini mcp add -s user forecall-cli npx -- -y forecallInstal forecall-cli MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"forecall-cli": {
"command": "npx",
"args": [
"-y",
"forecall"
]
}
}
}Pengecekan otomatis
Berjalan 15 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauforecall/forecall-cli is public and reachablegithub.com/forecall/forecall-cli ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyaforecall names forecall/forecall-cli as sourcenpmjs.com/package/forecall ↗Lolos
- Provenance build (atestasi Sigstore)Sigstore attestation for forecallnpmjs.com/package/forecall/v/0.8.1#provenance ↗Lolos
- Lisensi open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-10-18github.com/forecall/forecall-cli ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from forecallLolos
- Tidak ada advisory kritis pada paket atau dependensinyaTidak diperiksa
- Tidak ada instruksi tersembunyi untuk model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di 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.
Pertanyaan tentang forecall-cli MCP
Bagaimana cara menambahkan forecall-cli MCP ke Claude Code?
Jalankan claude mcp add forecall-cli -- npx -y forecall di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan forecall-cli MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Bagaimana cara memberikan skor pada tool MCP server saya?
Anda dapat menggunakan perintah npx forecall lint tools.json untuk menjalankan linter pada file definisi tool Anda.
Apakah tool ini mengirimkan data saya ke server eksternal?
Tidak, linter ini dirancang agar tidak ada data yang keluar dari mesin Anda.
Bisakah saya menggunakannya di pipeline CI/CD?
Ya, Anda dapat menggunakan Forecall GitHub Action untuk memberikan skor pada tool Anda di setiap pull request dan menetapkan quality gates.
Metrik apa yang digunakan untuk memberikan skor pada sebuah tool?
Setiap tool diberikan skor maksimal 100 berdasarkan tujuan (purpose), konteks penggunaan (usage context), argumen, nilai kembalian (return values), batasan/efek samping (constraints/side effects), dan contoh (examples).