Local-first MCP server for agent skills. Validate, lint, diff, and convert across IDEs.
Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y modelbound-mcp
MCP client config
{
"mcpServers": {
"modelbound": {
"command": "npx",
"args": [
"-y",
"modelbound-mcp"
]
}
}
}Local-first MCP server for agent skills. Validate, lint, diff, and convert agent skill files across Cursor, Claude, Codex, Kiro, Windsurf, VS Code, and Amazon Q — no account required. Optional cloud sync with ModelBound.
AI tools come and go. You might use Cursor today, switch to Claude Code tomorrow, and try Kiro next week — but your skills, rules, and context shouldn't be locked into any one of them. ModelBound gives you a single place to store and manage your agent skills, so you can move between tools freely without rebuilding your setup each time. Write a skill once, sync it everywhere, and get more value out of every AI subscription you're already paying for.
modelbound-mcp is a small Model Context Protocol server you run locally over stdio. It exposes tools to your IDE / agent using dot-notation naming for navigable discovery:
Local (no API key, no network):
ide.detectLayout — find which IDE conventions your repo usesskills.listLocal, skills.readLocal, skills.writeLocalskills.lint — front-matter, token count, broken links, TODO scan, trust score (scanner h5)skills.trust — deterministic slop/trust heuristics without full lintskills.scaffold — create a skill with default scope constraintsskills.reviewStatus, skills.reviewRequest, skills.reviewApprove, skills.reviewReject, skills.reviewGateskills.validateFormat — agentskills.io complianceskills.convert — translate between IDE formats (e.g. Cursor → Claude)skills.diff — compare a local skill with its cloud counterpartCloud (with MODELBOUND_API_KEY):
cloud.pullSkill, cloud.pushSkill, cloud.searchcloud.listSkills — now accepts ai_type and source_platform filters; every row includes ai_type, source_platform, source_path, and repocloud.resourceTree — returns the team's full hierarchy grouped by platform → top-level dir (.claude/skills, .cursor/rules, .kiro/steering, …) → files. Use this before cloud.listSkills when an orchestrator needs to map context before loading.cloud.installMarketplaceSkilloptimization.healthOrchestrators that juggle multiple AI platforms can call cloud.resourceTree once to get a complete map of available skills, rules, hooks, steering files, and system prompts — grouped exactly how each platform expects them on disk. Pair it with the new ai_type / source_platform filters on cloud.listSkills to load only the slice you need. See examples/resource-tree.ts.
The cloud tools are a thin JSON-RPC proxy to mcp.modelbound.co. All business logic stays server-side; this repo never touches your data or secrets.
Migration from 0.1.x — old snake_case names (
detect_ide_layout,pull_skill, …) were removed in 0.2.0. The hosted ModelBound MCP server still accepts both forms forever for backward compatibility.
Anti-slop (0.4.x) — trust scanner bumped to h5 with scope-limit, unbounded-wording, dependency, and refactor findings.
skills.readLocalnow returnstrust_score,scanner_version,review_state, andreview_meta. Override default scope limits via.modelbound/task-budgets.json. Useskills.reviewGatein CI to block unapproved skills.
npx modelbound-mcp
Or install globally:
npm i -g modelbound-mcp
.cursor/mcp.json){
"mcpServers": {
"modelbound": {
"command": "npx",
"args": ["-y", "modelbound-mcp"],
"env": { "MODELBOUND_API_KEY": "mb_live_..." }
}
}
}
MODELBOUND_API_KEY is optional. Without it, local tools still work.
See examples/ for Claude Desktop, Kiro, Windsurf, and VS Code configs.
modelbound-mcp detect # which IDE layouts exist here?
modelbound-mcp ls # list every skill file
modelbound-mcp lint .cursor/rules/ # lint a directory
modelbound-mcp lint .codex/skills/ # lint Codex skills
modelbound-mcp validate ./SKILL.md # agentskills.io compliance
modelbound-mcp convert --from cursor --to claude ./rule.mdc > out.md
npm test # unit tests (registry parity, trust, review, harness)
npm run smoke # local MCP tools + CLI subcommands (+ cloud if MODELBOUND_API_KEY set)
npm run test:e2e # offline anti-slop / review lifecycle
CLI vs MCP tool mapping: docs/PARITY.md.
We want help. Specifically:
Browse good first issues and the roadmap.
| Project | Description |
|---|---|
| ModelBound CLI · npm | Terminal + CI for token optimization, skill pipeline, and version management |
| Cursor Extension · Marketplace | VS Code/Cursor extension for rules sync and MCP bridge |
| Cursor Plugin | Cursor slash commands for pipeline, trust & safety, and versions |
| Claude Code Plugin | Claude Code plugin for pipeline, hooks, and skill sync |
| Dev Packs | Open-source curated AI context packs for engineering teams |
Also on Smithery (stdio via npx modelbound-mcp) and the MCP Registry. Install hub: modelbound.co/connect
MIT © ModelBound