mcpField
S
specwise-mcp

specwise-mcp

本地服务
specwise.bytestay.pt开发工具0今天更新

关于 specwise-mcp

specwise-mcp 是面向编码 Agent 的开源 MCP 服务,可验证 API 规范和 JSON Schema。它还可比较 OpenAPI 版本(包括以 git 版本为基准),并对变更分类。

主要功能

  1. 01验证 OpenAPI 和 Swagger 文档
  2. 02比较 OpenAPI 版本并识别破坏性变更
  3. 03支持以 git 引用作为基准版本
  4. 04验证 JSON Schema 及可选数据

适用场景

  1. 01发布前检查 API 契约
  2. 02对照 git 审查规范变更
  3. 03根据 JSON Schema 验证数据

MCP 相关

向 MCP 客户端提供 `validate_openapi`、`diff_openapi` 和 `validate_json_schema` 工具。服务通过 stdio 在本地运行,并调用 Specwise API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bytestay-specwise": {
"command": "uvx",
"args": [
"bytestay-specwise-mcp"
],
"env": {
"RAPIDAPI_KEY": "<RAPIDAPI_KEY>",
"API_MARKET_KEY": "<API_MARKET_KEY>",
"BYTESTAY_MARKETPLACE": "<BYTESTAY_MARKETPLACE>"
}
}
}
}
启动命令uvx bytestay-specwise-mcp
需要配置的环境变量
RAPIDAPI_KEY密钥Your RapidAPI key
API_MARKET_KEY密钥Your api.market key, used when RAPIDAPI_KEY is not set
BYTESTAY_MARKETPLACErapidapi or apimarket, when both keys are set (the old name HFL_MARKETPLACE still works)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibytestay-specwise-mcp0.2.8

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Specwise MCP 服务

M8ven Score CI PyPI Python 3.10+ License: MIT

让你的编码 Agent 检查 API 契约:验证 OpenAPI 文档、查找两个版本之间的破坏性变更(也支持对比 git),并验证 JSON Schema 和数据。

该服务开源(MIT)。它会调用付费的 Specwise API,该 API 提供免费套餐。

  • 使用你自己的密钥,可从 RapidAPI 或 api.market 获取。
  • 每次工具调用都会消耗套餐中的一次请求。
  • 免费 Basic 套餐每月提供 15 次请求,并设有硬性限额,因此不会产生额外账单。

1. 获取密钥

marketplace
RapidAPI套餐
api.market商店

2. 将服务添加到 MCP 客户端

该服务通过 uv 在本地使用 stdio 运行。将密钥放入其环境变量中。

JSON 配置(Claude Desktop、Cursor、VS Code 和大多数客户端):

{
  "mcpServers": {
    "specwise": {
      "command": "uvx",
      "args": ["--from", "bytestay-specwise-mcp", "specwise-mcp"],
      "env": { "RAPIDAPI_KEY": "your-rapidapi-key" }
    }
  }
}

Claude Code:

claude mcp add specwise --env RAPIDAPI_KEY=your-rapidapi-key -- uvx --from bytestay-specwise-mcp specwise-mcp
环境变量
变量含义
RAPIDAPI_KEY你的 RapidAPI 密钥
API_MARKET_KEY你的 api.market 密钥;未设置 RAPIDAPI_KEY 时使用
HFL_MARKETPLACE两个密钥都已设置时,使用 rapidapi 或 apimarket

即使没有密钥,服务仍会启动。首次调用工具时,它会说明如何获取密钥。

也已收录在 Glama:

specwise-mcp on Glama

3. 工具

工具功能
validate_openapi(spec=… | spec_path=…)列出所有错误及其 JSON Pointer、行号和列号,并提供 lint 警告(OpenAPI 3.x 和 Swagger 2.0)
diff_openapi(...)将两个 OpenAPI 3.x 版本之间的每项变更标记为破坏性、警告、非破坏性或信息提示,并给出 semver 建议
validate_json_schema(schema=… | schema_path=…, instance=… | instance_path=…, draft=None)根据元模式检查模式;如果提供了数据,也会根据模式检查数据

diff_openapi 支持以下三种方式之一来指定两个版本:

  • 将 base 和 revision 指定为文本;
  • 将 base_path 和 revision_path 指定为文件;
  • 使用 revision_path 和 base_git_ref。例如,编辑规范后:revision_path="openapi.yaml", base_git_ref="main"。

每个工具都会返回 API 的 JSON 响应。

  • 如果 marketplace 提供此信息,响应中会添加 quota_remaining:表示本月套餐还剩余的请求次数。
  • 错误会用通俗易懂的文字说明,并告知接下来该怎么做:
    • 密钥被拒绝,并提供订阅链接;
    • 已达到配额,并提供套餐信息;
    • API 无法处理输入,并说明原因。

隐私

  • 只有在工具收到本地文件路径时才会读取文件。文件会随该次请求发送到 API。
  • API 会在内存中处理输入,不会存储。请参阅隐私政策。
  • 你的密钥只会发送到你选择的 marketplace。

限制

  • 每份文档最大约为 900 KiB。
  • 不会获取外部 $ref。请先打包多文件规范(redocly bundle)。
  • 差异比较需要 OpenAPI 3.x;可以验证 Swagger 2.0,但不能进行差异比较。
  • 服务需要 Python 3.10+(uv 会为你安装)。

开发

uv venv && uv pip install -e ".[dev]"
.venv/bin/pytest            # unit tests, no network; 100% coverage required
.venv/bin/ruff check src tests scripts

scripts/e2e_stdio.py specwise 会像客户端一样通过 stdio 运行服务,并调用其工具访问真实 API。它需要 RAPIDAPI_KEY 或 API_MARKET_KEY。

许可证

MIT。Specwise 本身是由 ByteStay 运营的付费 API,提供免费套餐。

评论

支持 Markdown

第一次接触 MCP?

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

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