mcpField
M
metamodel

metamodel

远程服务
github.com/metamodel-app科研与教育010 周前更新
代码仓库

关于 metamodel

让 AI 助手检查已发布的计算器和工程模型,并运行公式计算的 MCP 服务。适用于需要明确输入、输出和计算结果,而非由模型生成算术结果的场景。

主要功能

  1. 01浏览已发布项目和模型
  2. 02查看输入与输出模式
  3. 03运行公式计算
  4. 04跨模型路由输入
  5. 05返回级联模型输出

适用场景

  1. 01根据给定数值计算工程模型结果
  2. 02使用前查看计算器所需参数
  3. 03一次计算运行相互关联的模型

MCP 相关

通过托管 HTTP 或 stdio 向 MCP 客户端提供 `metamodel_list_projects`、`metamodel_get_schema` 和 `metamodel_compute`。工具为只读,计算无状态。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://www.metamodel.app/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmmetamodel-mcp1.1.2

工具

4

此工具无需参数。

详细介绍

MetaModel MCP 服务

npm MCP license

一个 MCP(Model Context Protocol) 服务,让 AI 助手能够使用 MetaModel 的公式引擎进行认证计算。将已发布的计算器、定价工具和工程模型变成 AI 可调用的工具——不再有幻觉数学。

所有工具均为只读。 此服务会获取已发布的项目架构并执行无状态计算。它绝不会写入、修改或存储任何数据。

快速开始

远程(托管)——最简单

无需安装。将 URL 添加为自定义连接器:

https://www.metamodel.app/api/mcp
  • Claude.ai / Claude Desktop:设置 → 连接器 → 添加自定义连接器 → 粘贴 URL
  • Claude Code:claude mcp add --transport http metamodel https://www.metamodel.app/api/mcp

支持网页和移动端;无需 Node。托管端点为无状态、只读,并设有速率限制。

Claude Desktop

添加到你的 Claude Desktop 配置中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "metamodel": {
      "command": "npx",
      "args": ["-y", "metamodel-mcp"]
    }
  }
}
Claude Code
claude mcp add metamodel -- npx -y metamodel-mcp
其他 MCP 客户端

任何兼容 MCP 的客户端都可以通过 stdio 连接:

npx -y metamodel-mcp

工具

metamodel_list_projects

浏览可用的计算器和工程模型。返回项目名称、描述、发布令牌和模型名称。

  • 注释: readOnlyHint: true
metamodel_get_schema

查询特定项目的输入和输出。返回模型名称、输入参数(包括类型、默认值、验证规则)、输出字段和公式。

  • 注释: readOnlyHint: true
参数类型必填描述
tokenstring是项目发布令牌(来自 metamodel_list_projects)
metamodel_compute

使用输入值执行计算。只需发送一次输入值——系统会根据属性名称自动将其路由到正确的模型。返回所有模型的输出,包括跨模型级联结果。

  • 注释: readOnlyHint: true
参数类型必填描述
tokenstring是项目发布令牌
modelstring否指定目标模型。省略时返回所有模型(推荐)。
inputsobject否以键值对形式提供的输入值。自动路由到正确的模型。省略的输入将使用默认值。

示例

示例 1:列出可用项目

提示词:“MetaModel 上有哪些计算器可用?”

工具调用: metamodel_list_projects()

响应(已截断):

{
  "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"]
    }
  ]
}
示例 2:获取项目架构

提示词:“Building Engineer 计算器需要哪些输入?”

工具调用: metamodel_get_schema({ token: "fdc5fbef-9d4b-46c3-b72d-1950e03d4bf4" })

响应(已截断):

{
  "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" }
      ]
    }
  ]
}

请注意跨模型引用:volume@room 表示“使用 room 模型的 volume 输出”。MetaModel 会自动处理这种级联。

示例 3:执行计算

提示词:“为一个长 50×宽 80 英尺、天花板高 14 英尺的房间确定 HVAC、电气和照明的规格。”

工具调用: metamodel_compute({ token: "fdc5fbef-...", inputs: { length: 50, width: 80, height: 14 } })

响应:

{
  "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 }
}

一次 API 调用 → 房间几何参数、HVAC 规格、电气负载、照明设计和完整成本估算。所有结果均由真实公式在约 7 ms 内计算得出,而非由大模型生成。

开发

要针对本地 MetaModel 实例进行测试:

# Clone and build
cd packages/mcp-server
npm install
npm run build

# Run with local URL
node dist/index.js --url http://localhost:3000

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js --url http://localhost:3000

隐私政策

MetaModel 的 MCP 服务是无状态且只读的:

  • 无需身份验证 — 所有已发布的项目均为公开项目
  • 不收集个人数据 — 所有计算均为匿名操作
  • 不存储数据 — 输入会立即进行计算并丢弃
  • 无 Cookie 或跟踪机制 — 服务会直接调用 metamodel.app 的 API
  • 不与第三方共享数据 — 结果只会发送给发起请求的客户端

完整隐私政策:https://www.metamodel.app/privacy

关于 MetaModel

MetaModel 让你可以使用类似电子表格的公式语言构建计算器、定价工具和工程模型。描述你的需求,由 AI 为你构建,几秒内即可发布。模型会成为可通过 API 调用的计算端点,任何 AI 助手都可以通过此 MCP 服务使用。

许可证

MIT

故障排除

  • “Project not found or not published” — 该令牌属于尚未发布或已删除的项目。请向项目所有者索取当前的发布令牌,或使用 metamodel_list_projects 查看可用项目。
  • 输入名称未知 — 输入会按属性名称匹配。请先调用 metamodel_get_schema;它会返回该项目准确的输入名称、类型和默认值。
  • 输入以 JSON 字符串形式发送 — 请将 inputs 作为 JSON 对象({"width": 12})传递,而不是字符串化的对象。字符串化的输入会导致“Unknown input”错误,并指出字符索引。
  • 速率限制(托管端点) — 托管 URL 会针对每个客户端实施速率限制。如需大量使用,请在本地运行 npm 包,并使用你自己的网络出口。
  • Node 版本(本地安装) — stdio 服务需要 Node 18+。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。