{
  "markdown": "# MetaModel MCP Server\n\n[![npm](https://img.shields.io/npm/v/metamodel-mcp)](https://www.npmjs.com/package/metamodel-mcp)\n[![MCP](https://img.shields.io/badge/MCP-compatible-blue)](https://modelcontextprotocol.io)\n[![license](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that lets AI assistants use MetaModel's formula engine for certified computation. Turn published calculators, pricing tools, and engineering models into AI-callable tools — no hallucinated math.\n\n> **All tools are read-only.** This server fetches published project schemas and runs stateless computations. It never writes, modifies, or stores any data.\n\n## Quick Start\n\n### Remote (hosted) — easiest\n\nNo install. Add the URL as a custom connector:\n\n```\nhttps://www.metamodel.app/api/mcp\n```\n\n- **Claude.ai / Claude Desktop**: Settings → Connectors → Add custom connector → paste the URL\n- **Claude Code**: `claude mcp add --transport http metamodel https://www.metamodel.app/api/mcp`\n\nWorks on web and mobile; no Node required. The hosted endpoint is stateless, read-only, and rate-limited.\n\n### Claude Desktop\n\nAdd to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"metamodel\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"metamodel-mcp\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add metamodel -- npx -y metamodel-mcp\n```\n\n### Other MCP Clients\n\nAny MCP-compatible client can connect via stdio:\n\n```bash\nnpx -y metamodel-mcp\n```\n\n## Tools\n\n### `metamodel_list_projects`\nBrowse available calculators and engineering models. Returns project names, descriptions, publish tokens, and model names.\n\n- **Annotations:** `readOnlyHint: true`\n\n### `metamodel_get_schema`\nDiscover inputs and outputs for a specific project. Returns model names, input parameters (with types, defaults, validation rules), output fields, and formulas.\n\n- **Annotations:** `readOnlyHint: true`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `token` | string | Yes | Project publish token (from `metamodel_list_projects`) |\n\n### `metamodel_compute`\nRun a computation with input values. Send inputs once — they're auto-routed to the correct model by property name. Outputs from all models are returned, including cross-model cascading.\n\n- **Annotations:** `readOnlyHint: true`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `token` | string | Yes | Project publish token |\n| `model` | string | No | Target a specific model. When omitted, returns all models (recommended). |\n| `inputs` | object | No | Input values as key-value pairs. Auto-routed to the correct model. Omitted inputs use defaults. |\n\n## Examples\n\n### Example 1: List Available Projects\n\n**Prompt:** \"What calculators are available on MetaModel?\"\n\n**Tool call:** `metamodel_list_projects()`\n\n**Response (truncated):**\n```json\n{\n  \"projects\": [\n    {\n      \"token\": \"989bc6ae-e4d7-4585-8908-bfd03358043e\",\n      \"name\": \"Deck Builder\",\n      \"description\": \"Interactive deck builder with code-compliant sizing. Uses LOOKUP tables for beams, frost depths, and railing requirements.\",\n      \"models\": [\"deck\", \"platformModel\", \"beamsModel\", \"postsModel\", \"railingModel\", \"summaryModel\"]\n    },\n    {\n      \"token\": \"fdc5fbef-9d4b-46c3-b72d-1950e03d4bf4\",\n      \"name\": \"Building Engineer\",\n      \"description\": \"Complete building engineering calculator. Enter room dimensions to auto-size HVAC, electrical, and lighting systems with full cost estimation.\",\n      \"models\": [\"room\", \"hvac\", \"electrical\", \"lighting\", \"costEstimator\"]\n    },\n    {\n      \"token\": \"363c7753-ac4b-4de4-b1e7-e4536cb2f9bb\",\n      \"name\": \"Life Expectancy Calculator\",\n      \"description\": \"Estimate your life expectancy based on age, sex, and lifestyle factors.\",\n      \"models\": [\"basics\", \"lifestyle\", \"results\"]\n    }\n  ]\n}\n```\n\n### Example 2: Get Project Schema\n\n**Prompt:** \"What inputs does the Building Engineer calculator need?\"\n\n**Tool call:** `metamodel_get_schema({ token: \"fdc5fbef-9d4b-46c3-b72d-1950e03d4bf4\" })`\n\n**Response (truncated):**\n```json\n{\n  \"projectName\": \"Building Engineer\",\n  \"models\": [\n    {\n      \"name\": \"room\",\n      \"title\": \"Room Dimensions\",\n      \"inputs\": [\n        { \"name\": \"length\", \"type\": \"number\", \"defaultValue\": 35.26 },\n        { \"name\": \"width\", \"type\": \"number\", \"defaultValue\": 60 },\n        { \"name\": \"height\", \"type\": \"number\", \"defaultValue\": 12 }\n      ],\n      \"outputs\": [\n        { \"name\": \"floorArea\", \"formula\": \"floorArea = length * width\" },\n        { \"name\": \"volume\", \"formula\": \"volume = length * width * height\" }\n      ]\n    },\n    {\n      \"name\": \"hvac\",\n      \"title\": \"HVAC Sizing\",\n      \"inputs\": [\n        { \"name\": \"climateZone\", \"defaultValue\": \"cold\" },\n        { \"name\": \"btuFactor\", \"type\": \"number\", \"defaultValue\": 25 }\n      ],\n      \"outputs\": [\n        { \"name\": \"btuRequired\", \"formula\": \"btuRequired = volume@room * btuFactor\" },\n        { \"name\": \"tonnage\", \"formula\": \"tonnage = btuRequired / 12000\" },\n        { \"name\": \"annualCost\", \"formula\": \"annualCost = tonnage * 120\" }\n      ]\n    }\n  ]\n}\n```\n\nNote the cross-model references: `volume@room` means \"use the `volume` output from the `room` model.\" MetaModel handles this cascading automatically.\n\n### Example 3: Run a Computation\n\n**Prompt:** \"Size the HVAC, electrical, and lighting for a 50×80 ft room with 14 ft ceilings\"\n\n**Tool call:** `metamodel_compute({ token: \"fdc5fbef-...\", inputs: { length: 50, width: 80, height: 14 } })`\n\n**Response:**\n```json\n{\n  \"models\": {\n    \"room\": {\n      \"outputs\": { \"floorArea\": 4000, \"volume\": 56000, \"wallArea\": 3640 }\n    },\n    \"hvac\": {\n      \"outputs\": { \"btuRequired\": 1400000, \"tonnage\": 116.7, \"annualCost\": 14000 }\n    },\n    \"electrical\": {\n      \"outputs\": { \"outletsNeeded\": 304, \"totalAmps\": 456, \"circuitCount\": 23 }\n    },\n    \"lighting\": {\n      \"outputs\": { \"totalLumens\": 201240, \"fixtureCount\": 51, \"totalWattage\": 2040 }\n    },\n    \"costEstimator\": {\n      \"outputs\": {\n        \"hvacMaterial\": 415917, \"electricalMaterial\": 18400,\n        \"lightingMaterial\": 7650, \"totalLabor\": 89321, \"grandTotal\": 531288\n      }\n    }\n  },\n  \"metadata\": { \"projectName\": \"Building Engineer\", \"evaluationMs\": 7.1 }\n}\n```\n\nOne API call → room geometry, HVAC sizing, electrical load, lighting design, and full cost estimate. All computed from real formulas in ~7ms, not LLM-generated.\n\n## Development\n\nTo test against a local MetaModel instance:\n\n```bash\n# Clone and build\ncd packages/mcp-server\nnpm install\nnpm run build\n\n# Run with local URL\nnode dist/index.js --url http://localhost:3000\n\n# Test with MCP Inspector\nnpx @modelcontextprotocol/inspector node dist/index.js --url http://localhost:3000\n```\n\n## Privacy Policy\n\nMetaModel's MCP server is **stateless and read-only**:\n- **No authentication required** — all published projects are public\n- **No personal data collected** — computations are anonymous\n- **No data stored** — inputs are evaluated and discarded immediately\n- **No cookies or tracking** — the server makes direct API calls to metamodel.app\n- **No third-party data sharing** — results go only to the requesting client\n\nFull privacy policy: [https://www.metamodel.app/privacy](https://www.metamodel.app/privacy)\n\n## About MetaModel\n\n[MetaModel](https://www.metamodel.app) lets you build calculators, pricing tools, and engineering models with a spreadsheet-like formula language. Describe what you want, AI builds it, publish in seconds. Models become API-callable computation endpoints that any AI assistant can use via this MCP server.\n\n## License\n\nMIT\n\n## Troubleshooting\n\n- **\"Project not found or not published\"** — the token belongs to an unpublished or deleted project. Ask the project owner for a current publish token, or list what's available with `metamodel_list_projects`.\n- **Unknown input names** — inputs are matched by property name. Call `metamodel_get_schema` first; it returns the exact input names, types, and defaults for the project.\n- **Inputs sent as a JSON string** — pass `inputs` as a JSON object (`{\"width\": 12}`), not a stringified object. Stringified inputs fail with an \"Unknown input\" error naming a character index.\n- **Rate limits (hosted endpoint)** — the hosted URL is rate-limited per client. For heavy use, run the npm package locally with your own network egress.\n- **Node version (local install)** — the stdio server needs Node 18+.\n",
  "bytes": 8550,
  "sha": "183582b381e8f756ce995c8665e68e90173e294110c4af250d91fe190998452d",
  "repo_slug": "metamodel-app/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_joegra2003_metamodel_2e9bcf72/readme"
}