Token导航 LogoToken导航TokenDH.com
Smithy To MCP logo
开发工具stdio官方级别未说明来源级核验

Smithy To MCP

MCP Server

smithy-to-mcp

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

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
代码生成TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jariy17

提供方

jariy17

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

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

详细介绍

史密斯到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次操作)

目录标签

目录标签

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

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

smithy-to-mcp

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP