Metamodel

io.github.joegra2003由 GitHub 账号 joegra2003 发布v1.2.0更新于 Oct 28, 2026

AI-callable calculators and engineering models with real formulas. No hallucinated math.

已验证Streamable HTTP可网页运行开发者工具数据与分析

概览

AI 生成的概览

让助手浏览已发布的 MetaModel 计算器、读取其输入输出结构,并运行基于公式的计算,而不是自行估算数学结果。

可以做什么
  • 列出已发布的计算器与工程模型,含名称、描述、令牌和模型名
  • 获取项目结构:模型名、带类型与默认值和校验规则的输入参数、输出字段与公式
  • 将项目导出为便于阅读的 KN 记法文本,该表示有意省略部分内容
  • 提交一次输入值即可运行计算,输入按属性名自动路由,返回所有模型的输出,包括跨模型级联结果
适用场景
适合需要确定性、有公式依据的数值时使用,例如尺寸计算、定价、成本估算、工程或生活类计算器,而不是让模型自行做算术;前提是相关模型已在 MetaModel 上发布。
运行要求
可使用托管远程端点(无需安装,网页和移动端均可用),或通过 npx 以 stdio 运行本地 npm 包 metamodel-mcp,后者需要 Node 18 或更高版本。未声明需要认证、API 密钥或环境变量;已发布项目是公开的,通过发布令牌识别。
安装前请注意
工具被描述为只读且无状态,输入计算后即丢弃;托管端点按客户端限流。调用结构与计算工具需要列表返回的发布令牌,未发布或已删除的项目会报找不到。结果取决于已发布模型本身的质量,标记为仅展示的模型不应用于分析。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Metamodel,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.joegra2003%2Fmetamodel/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "metamodel": {
      "type": "http",
      "url": "https://www.metamodel.app/api/mcp"
    }
  }
}

README

MetaModel MCP Server

[npm] [MCP] [license]

An MCP (Model Context Protocol) 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.

All tools are read-only. This server fetches published project schemas and runs stateless computations. It never writes, modifies, or stores any data.

Quick Start

Remote (hosted) — easiest

No install. Add the URL as a custom connector:

https://www.metamodel.app/api/mcp
  • Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → paste the URL
  • Claude Code: claude mcp add --transport http metamodel https://www.metamodel.app/api/mcp

Works on web and mobile; no Node required. The hosted endpoint is stateless, read-only, and rate-limited.

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

json
{  "mcpServers": {    "metamodel": {      "command": "npx",      "args": ["-y", "metamodel-mcp"]    }  }}

Claude Code

bash
claude mcp add metamodel -- npx -y metamodel-mcp

Other MCP Clients

Any MCP-compatible client can connect via stdio:

bash
npx -y metamodel-mcp

Tools

metamodel_list_projects

Browse available calculators and engineering models. Returns project names, descriptions, publish tokens, and model names.

  • Annotations: readOnlyHint: true

metamodel_get_schema

Discover inputs and outputs for a specific project. Returns model names, input parameters (with types, defaults, validation rules), output fields, and formulas.

  • Annotations: readOnlyHint: true
ParameterTypeRequiredDescription
tokenstringYesProject publish token (from metamodel_list_projects)

metamodel_compute

Run 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.

  • Annotations: readOnlyHint: true
ParameterTypeRequiredDescription
tokenstringYesProject publish token
modelstringNoTarget a specific model. When omitted, returns all models (recommended).
inputsobjectNoInput values as key-value pairs. Auto-routed to the correct model. Omitted inputs use defaults.

Examples

Example 1: List Available Projects

Prompt: "What calculators are available on MetaModel?"

Tool call: metamodel_list_projects()

Response (truncated):

json
{  "projects": [    {      "token": "989bc6ae-e4d7-4585-8908-bfd03358043e",      "name": "Deck Builder",      "description": "Interactive deck builder with code-compliant sizing. Uses LOOKUP tables for beams, frost depths, and railing requirements.",      "models": ["deck", "platformModel", "beamsModel", "postsModel", "railingModel", "summaryModel"]    },    {      "token": "fdc5fbef-9d4b-46c3-b72d-1950e03d4bf4",      "name": "Building Engineer",      "description": "Complete building engineering calculator. Enter room dimensions to auto-size HVAC, electrical, and lighting systems with full cost estimation.",      "models": ["room", "hvac", "electrical", "lighting", "costEstimator"]    },    {      "token": "363c7753-ac4b-4de4-b1e7-e4536cb2f9bb",      "name": "Life Expectancy Calculator",      "description": "Estimate your life expectancy based on age, sex, and lifestyle factors.",      "models": ["basics", "lifestyle", "results"]    }  ]}

Example 2: Get Project Schema

Prompt: "What inputs does the Building Engineer calculator need?"

Tool call: metamodel_get_schema({ token: "fdc5fbef-9d4b-46c3-b72d-1950e03d4bf4" })

Response (truncated):

json
{  "projectName": "Building Engineer",  "models": [    {      "name": "room",      "title": "Room Dimensions",      "inputs": [        { "name": "length", "type": "number", "defaultValue": 35.26 },        { "name": "width", "type": "number", "defaultValue": 60 },        { "name": "height", "type": "number", "defaultValue": 12 }      ],      "outputs": [        { "name": "floorArea", "formula": "floorArea = length * width" },        { "name": "volume", "formula": "volume = length * width * height" }      ]    },    {      "name": "hvac",      "title": "HVAC Sizing",      "inputs": [        { "name": "climateZone", "defaultValue": "cold" },        { "name": "btuFactor", "type": "number", "defaultValue": 25 }      ],      "outputs": [        { "name": "btuRequired", "formula": "btuRequired = volume@room * btuFactor" },        { "name": "tonnage", "formula": "tonnage = btuRequired / 12000" },        { "name": "annualCost", "formula": "annualCost = tonnage * 120" }      ]    }  ]}

Note the cross-model references: volume@room means "use the volume output from the room model." MetaModel handles this cascading automatically.

Example 3: Run a Computation

Prompt: "Size the HVAC, electrical, and lighting for a 50×80 ft room with 14 ft ceilings"

Tool call: metamodel_compute({ token: "fdc5fbef-...", inputs: { length: 50, width: 80, height: 14 } })

Response:

json
{  "models": {    "room": {      "outputs": { "floorArea": 4000, "volume": 56000, "wallArea": 3640 }    },    "hvac": {      "outputs": { "btuRequired": 1400000, "tonnage": 116.7, "annualCost": 14000 }    },    "electrical": {      "outputs": { "outletsNeeded": 304, "totalAmps": 456, "circuitCount": 23 }    },    "lighting": {      "outputs": { "totalLumens": 201240, "fixtureCount": 51, "totalWattage": 2040 }    },    "costEstimator": {      "outputs": {        "hvacMaterial": 415917, "electricalMaterial": 18400,        "lightingMaterial": 7650, "totalLabor": 89321, "grandTotal": 531288      }    }  },  "metadata": { "projectName": "Building Engineer", "evaluationMs": 7.1 }}

One API call → room geometry, HVAC sizing, electrical load, lighting design, and full cost estimate. All computed from real formulas in ~7ms, not LLM-generated.

Development

To test against a local MetaModel instance:

bash
# Clone and buildcd packages/mcp-servernpm installnpm run build
# Run with local URLnode dist/index.js --url http://localhost:3000
# Test with MCP Inspectornpx @modelcontextprotocol/inspector node dist/index.js --url http://localhost:3000

Privacy Policy

MetaModel's MCP server is stateless and read-only:

  • No authentication required — all published projects are public
  • No personal data collected — computations are anonymous
  • No data stored — inputs are evaluated and discarded immediately
  • No cookies or tracking — the server makes direct API calls to metamodel.app
  • No third-party data sharing — results go only to the requesting client

Full privacy policy: https://www.metamodel.app/privacy

About MetaModel

MetaModel 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.

License

MIT

Troubleshooting

  • "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.
  • 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.
  • 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.
  • 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.
  • Node version (local install) — the stdio server needs Node 18+.

来源:README.md,提交 3faf819

工具

4

metamodel_list_projects

Browse available MetaModel calculators and engineering models. Returns project names, descriptions, tokens, and model names for each published project.

无需输入参数。

metamodel_get_schema

Get the input/output schema for a published MetaModel project. Returns model names, input parameters (with types, defaults, validation), and output fields. Models marked "presentation": true are display scaffolding (3D scenes etc.) — skip them for engineering analysis. Use a token from metamodel_list_projects.

输入参数token必填

metamodel_export_kn

Export a published MetaModel project as KN notation — a human-readable text spelling of the model: nested Component blocks, "Name: value" literals, "Name: expression" formulas, dotted cross-references. Deliberately lossy (rules, indicators, validations, table data and views are omitted). Useful for reading or diffing the engineering knowledge behind a project.

输入参数token必填

metamodel_compute

Run a computation on a MetaModel project. Send input values and get computed outputs from all models. Inputs are auto-routed to the correct model by property name. Models marked "presentation": true in results are display scaffolding, not engineering outputs. Use metamodel_get_schema first to discover available inputs and outputs.

输入参数modeltoken必填inputs

版本历史

1
  1. v1.2.0最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。