Token导航 LogoToken导航

MCP Server · 开发工具

Smithy To MCP

一款将Smithy JSON AST文件转换为TypeScript MCP服务器的工具,支持AWS服务模型自动下载、SigV4认证及HTTP客户端生成。

stdio官方级别未说明来源级核验工具 0smithy-to-mcp
代码生成TypeScriptClaude

快速开始

作者 / 组织
jariy17
提供方
jariy17
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Smithy To MCP 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

npx smithy-to-mcp serve ./my-model.json

客户端配置示例

{
  "mcpServers": {
    "smithy-to-mcp": {
      "command": "npx",
      "args": [
        "smithy-to-mcp",
        "serve",
        "./my-model.json"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

史密斯到mcp

从Smithy API模型生成MCP(模型上下文协议)服务器。

它的作用

此工具解析Smithy JSON AST文件并生成TypeScript MCP服务器,包括:

  • 每个API操作的工具
  • 带有验证和描述的Zod模式
  • 具有路径/查询/正文参数处理的HTTP客户端
  • 从Smithy特征中自动检测AWS端点
  • AWS SigV4身份验证(从Smithy模型自动检测)

安装

npm install
npm run build

用法

直接运行(动态服务器)

从Smithy模型运行MCP服务器的最快方法-不需要生成代码:

# From a local file
npx smithy-to-mcp serve ./my-model.json

# Auto-download AWS service models
npx smithy-to-mcp serve aws:bedrock-agent-runtime
npx smithy-to-mcp serve aws:s3

选项:

  • -u, --base-url -API调用的基本URL(默认值:来自模型或 API_BASE_URL env)
  • -k, --api-key -用于身份验证的API密钥(默认值: API_KEY env)
  • -t, --timeout -请求超时(毫秒)(默认值:30000)
  • -r, --region -SigV4签名的AWS区域(默认: AWS_REGION env或us-east-1)
  • --no-cache -跳过缓存并重新下载AWS模型

生成MCP服务器

生成一个独立的TypeScript MCP服务器:

npx smithy-to-mcp generate  -o 

选项:

  • -o, --output -输出文件路径(默认:mcp-server.ts)
  • -u, --base-url -覆盖基本URL(自动检测AWS服务)
  • -n, --name -覆盖服务器名称
  • -v, --version -覆盖服务器版本
  • --stdout -输出到stdout而不是文件

检查史密斯模型

npx smithy-to-mcp inspect 

显示服务信息、操作和输入/输出形状。

创建Smithy模型示例

npx smithy-to-mcp init

创造 weather-service.json 作为一个起点。

例子

快速入门:AWS基岩代理核心

  1. 配置AWS凭据 (如果尚未设置)
   aws configure
   # Or set environment variables:
   export AWS_ACCESS_KEY_ID=your-key
   export AWS_SECRET_ACCESS_KEY=your-secret
   export AWS_REGION=us-east-1
  1. 运行MCP服务器 (自动下载并缓存模型)
   npx smithy-to-mcp serve aws:bedrock-agent-runtime
  1. 添加到您的MCP客户端 -请参阅 MCP客户端集成 在......下面

MCP客户端集成

克劳德代码

添加到您的Claude Code MCP设置文件(~/.claude/settings.json):

{
  "mcpServers": {
    "bedrock-agent-runtime": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "aws:bedrock-agent-runtime"],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

或者添加多个AWS服务:

{
  "mcpServers": {
    "s3": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "aws:s3"]
    },
    "dynamodb": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "aws:dynamodb"]
    },
    "lambda": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "aws:lambda"]
    }
  }
}

Kiro命令行界面

添加到Kiro MCP配置文件(~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "bedrock-agent-runtime": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "aws:bedrock-agent-runtime"],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

克劳德桌面

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "bedrock-agent-runtime": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "aws:bedrock-agent-runtime"],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

定制史密斯模型

对于本地Smithy文件,请使用绝对路径:

{
  "mcpServers": {
    "my-api": {
      "command": "npx",
      "args": ["smithy-to-mcp", "serve", "/path/to/my-model.json"],
      "env": {
        "API_BASE_URL": "https://api.example.com"
      }
    }
  }
}

其他AWS服务

使用 aws: 要自动下载任何AWS服务模型:

npx smithy-to-mcp serve aws:s3
npx smithy-to-mcp serve aws:dynamodb
npx smithy-to-mcp serve aws:lambda
npx smithy-to-mcp serve aws:ec2

模型下载自 aws/api模型aws 并缓存在 ~/.smithy-to-mcp/cache/.

生成独立的MCP服务器

如果你更喜欢生成代码而不是动态服务:

# Generate TypeScript MCP server
npx smithy-to-mcp generate bedrock-agentcore.json -o bedrock-mcp-server.ts

# Run the generated server
npx tsx bedrock-mcp-server.ts

环境变量

生成的服务器支持:

变量描述
API_BASE_URL覆盖基本URL
AWS_REGIONAWS服务的AWS区域(默认:us-east-1)
API_KEY授权标头的API密钥(非AWS)
API_TIMEOUT请求超时(毫秒)(默认值:30000)

AWS SigV4身份验证

对于AWS服务,该工具会自动检测Smithy模型中的SigV4要求,并:

  • 用途 @smithy/signature-v4 用于请求签名
  • 用途 @aws-sdk/credential-provider-node AWS凭据
  • 从环境、~/.aws/凭据、IAM角色等读取凭据。

包含所有AWS依赖项,无需额外安装。

生成的输出

生成的MCP服务器包括:

// Each Smithy operation becomes an MCP tool
server.registerTool(
  "create-agent-runtime",
  {
    description: "Creates an Amazon Bedrock AgentCore Runtime.",
    inputSchema: z.object({
      agentRuntimeName: z.string()
        .regex(/^[a-zA-Z][a-zA-Z0-9_]{0,47}$/)
        .describe("The name of the AgentCore Runtime."),
      description: z.string()
        .optional()
        .describe("The description of the AgentCore Runtime."),
    }),
  },
  async (params) => {
    // HTTP call to the API
  }
);

支持的Smithy功能

形状

  • service -与运营和资源
  • resource -CRUD生命周期(创建、读取、更新、删除、列表)+操作+集合操作+嵌套资源
  • operation -输入/输出/错误
  • structure, list, map, union, enum, intEnum
  • 原始类型: string, boolean, byte, short, integer, long, float, double, bigInteger, bigDecimal, timestamp, blob, document

特质

特性目的
@documentation工具和字段说明
@requiredZod模式中的必填字段
@httpHTTP方法和URI模板
@httpLabel路径参数
@httpQuery查询字符串参数
@httpQueryParams稀疏地图展开查询参数
@httpHeader请求标头
@httpPrefixHeaders标头前缀映射
@httpPayload请求车身有效载荷
@httpChecksum校验和要求(如工具说明所示)
@length字符串最小/最大长度验证
@pattern字符串正则表达式验证
@range最小/最大验证数
@defaultZod模式中的默认值
@jsonNameJSON序列化的线名
@paginated分页配置(如工具说明所示)
@waitable生成 wait-for-* 轮询工具
@enumValue枚举导线值
@sensitive标记敏感字段(如字段描述所示)
@deprecated工具/字段描述中的弃用警告
@idempotencyToken如果未提供,则自动生成UUID
@streaming流媒体主体(在字段描述中注明)
@hostLabel主机标签字段(已解析)
@mediaType字段描述中的内容类型提示
@examples使用示例(如工具说明所示)
@externalDocumentation工具描述中的外部文档链接
@tags资源标签(如工具描述所示)
@unstableAPI标记不稳定
@internalAPI内部标记
@idempotent临时操作标记
@readonly只读操作标记
aws.api#serviceAWS端点前缀检测
aws.auth#sigv4AWS SigV4签名检测
aws.protocols#restJson1协议检测

尚未支持

以下Smithy特征尚未解析:

特质

特性目的
@httpResponseCode响应代码绑定
@xmlName, @xmlAttribute, @xmlNamespaceXML格式
@eventPayload, @eventHeader事件流
@retryable重试提示(已解析但未在生成的代码中使用)

特性

  • 混合物(形状组成)
  • 应用语句(外部特征应用)
  • 自动分页(目前仅在描述中显示分页字段)
  • 流媒体主体(目前仅在描述中显示为标记)
  • 事件流

预先生成的示例

看 examples/ 目录:

  • weather-mcp-server.ts -简单天气API示例
  • aws/bedrock-agentcore-mcp-server.ts -AWS基岩代理核心(35次操作)
  • aws/bedrock-agentcore-control-mcp-server.ts -AWS基岩代理核心控制(79次操作)

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

API转换工具TypeScript本地部署TypeScript服务器AWS集成代码生成模型解析

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Smithy To MCP

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Smithy To MCP 怎么安装?

公开资料给出的安装命令是 npx smithy-to-mcp serve ./my-model.json,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Smithy To MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Smithy To MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Smithy To MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Smithy To MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP