MCP Standard Finder
概述
安装
工具列表
内容详情
替代品
什么是Standards Finder?
Standards Finder是一个专门用于访问和搜索互联网标准的智能工具服务器。它能够帮助用户轻松查找、阅读和分析各种互联网协议文档,包括RFC(请求评论)、Internet Drafts(互联网草案)和OpenID Foundation规范。如何使用Standards Finder?
通过配置MCP客户端连接到Standards Finder服务器,您可以直接在支持MCP协议的应用程序中搜索和阅读互联网标准文档。支持两种连接方式:Stdio模式(进程通信)和HTTP模式(网络服务)。适用场景
适用于网络协议开发人员、技术文档编写者、学术研究人员、标准制定参与者等需要频繁查阅互联网标准文档的专业人士。特别适合在开发过程中快速查找协议细节、版本信息和相关规范。主要功能
RFC文档支持
支持按编号获取RFC文档、关键词搜索RFC、提取特定章节内容,支持HTML和TXT格式解析
互联网草案支持
按名称获取互联网草案(自动检测最新版本)、关键词搜索、版本感知处理、章节提取功能
OpenID Foundation规范支持
获取OpenID规范、搜索相关文档、提取章节内容,支持所有主要OpenID规范
工作组文档支持
获取IETF工作组的所有RFC和互联网草案、自动过滤过期或撤回的文档、灵活的筛选选项
智能缓存
内存缓存机制提高重复请求性能,减少网络请求次数
双传输模式
支持Stdio模式(进程通信)和HTTP模式(网络服务),满足不同使用场景
进度通知
长时间运行操作时提供实时进度更新,改善用户体验
完整元数据
提取作者、日期、状态、摘要等完整文档信息,便于快速了解文档概况
优势
零依赖:仅使用Python标准库,无需安装额外包
实时数据:直接从IETF官方源获取最新文档
智能版本处理:自动获取互联网草案的最新版本
灵活的输出格式:支持完整文档、元数据或仅章节内容
强大的搜索能力:支持关键词搜索和精确文档获取
工作组集成:可按工作组查看所有相关文档
MCP协议兼容:与所有MCP兼容客户端无缝集成
局限性
需要网络连接:所有文档都从在线源获取
大文档响应可能被截断:Stdio模式下超过200KB的响应会被自动截断
依赖IETF服务可用性:服务依赖于rfc-editor.org和datatracker.ietf.org的可用性
HTTP模式需要额外安全考虑:网络暴露需要适当的安全配置
如何使用
安装和启动服务器
下载标准查找器Python脚本并启动服务器。可以选择Stdio模式或HTTP模式运行。
配置MCP客户端
在支持MCP协议的客户端中配置服务器连接信息。根据选择的运行模式配置相应的连接参数。
开始使用工具
在客户端中调用可用的工具来搜索和获取互联网标准文档。支持RFC、互联网草案、OpenID规范和工作组文档。
使用资源URI
通过资源URI直接访问文档,支持RFC、草案、工作组和OpenID规范的统一资源标识符。
使用案例
查找HTTP协议相关文档
开发人员需要了解HTTP协议的历史版本和最新发展,查找相关的RFC和草案文档
研究OAuth工作组活动
安全研究人员需要了解OAuth工作组的最新工作进展和所有相关文档
学习OpenID Connect规范
应用开发者需要实现OpenID Connect认证,需要查阅核心规范的具体要求
比较TLS协议版本
网络工程师需要比较不同TLS版本的差异,查找相关的标准文档
常见问题
Standards Finder需要安装哪些依赖?
Standards Finder是零依赖的,仅使用Python标准库,无需安装任何额外的Python包。
Stdio模式和HTTP模式有什么区别?
Stdio模式通过进程间通信工作,更安全可靠;HTTP模式通过网络服务工作,更适合开发和调试。生产环境推荐使用Stdio模式。
如何获取互联网草案的最新版本?
在草案名称中不包含版本号即可自动获取最新版本,例如使用'draft-ietf-httpbis-http2'而不是'draft-ietf-httpbis-http2-17'。
搜索功能支持哪些类型的文档?
支持搜索RFC、互联网草案和OpenID Foundation规范,可以按关键词、工作组或特定文档名称进行搜索。
如何处理大文档的响应?
在Stdio模式下,超过200KB的响应会被自动截断。建议使用'metadata'格式获取文档概要,或分章节获取内容。
支持哪些IETF工作组?
支持所有IETF工作组,包括httpbis、oauth、tls、quic、dnsop等热门工作组。可以使用'get_working_group_documents'工具查看特定工作组的所有文档。
如何调试连接问题?
可以使用--log-level DEBUG参数启动服务器查看详细日志,或使用MCP Inspector进行协议级调试。
相关资源
GitHub仓库
原始项目的GitHub代码仓库
MCP协议文档
Model Context Protocol官方规范文档
IETF数据追踪器
IETF官方文档和数据追踪平台
RFC编辑器
官方RFC文档发布平台
OpenID Foundation
OpenID Foundation规范文档
MCP Inspector
MCP协议调试和测试工具
安装
复制以下命令到你的Client进行配置
{
"mcpServers": {
"rfc-server": {
"command": "python3",
"args": ["standard_finder.py"],
"cwd": "/path/to/mcp-rfc",
"disabled": false,
"autoApprove": []
}
}
}
{
"mcpServers": {
"rfc-server": {
"url": "http://localhost:3000/mcp",
"transport": "http",
"disabled": false,
"autoApprove": []
}
}
}
{
"mcpServers": {
"rfc-server": {
"command": "uvx",
"args": ["--from", ".", "standard_finder.py"],
"cwd": "/path/to/mcp-rfc",
"disabled": false,
"autoApprove": []
}
}
}注意:您的密钥属于敏感信息,请勿与任何人分享。
🚀 标准查找器 - RFC和互联网草案MCP服务器
标准查找器是一个综合性的Python MCP服务器,用于从IETF网站获取、解析和读取RFC(请求评论)和互联网草案。它提供了一系列工具和资源,可通过编程方式与RFC文档、互联网草案和IETF工作组文档进行交互。
我要感谢 @mjpitz/mcp-rfc 提供的基础。本解决方案是基于Python的移植和扩展,使用了 Kiro。
🚀 快速开始
标准查找器使用Python标准库,无需额外安装依赖。你可以直接运行以下命令启动服务器:
# 立即运行 - 无需安装!
python3 standard_finder.py
# 以HTTP模式运行
python3 standard_finder.py --http
# 在自定义端口以HTTP模式运行
python3 standard_finder.py --http --port 8080
✨ 主要特性
RFC支持
- 按编号获取RFC文档。
- 按关键字搜索RFC。
- 从RFC文档中提取特定章节。
- 解析HTML和TXT格式的RFC文档。
互联网草案支持
- 按名称获取互联网草案文档(自动检测最新版本)。
- 使用IETF数据跟踪器API按关键字搜索互联网草案。
- 自动或明确获取互联网草案的最新版本。
- 从互联网草案中提取特定章节。
- 解析HTML和TXT格式的互联网草案。
- 支持版本感知处理(例如,
draft-name-05与draft-name获取最新版本)。
OpenID基金会支持
- 按名称获取OpenID基金会规范。
- 按关键字搜索OpenID规范。
- 从OpenID规范中提取特定章节。
- 支持所有主要的OpenID规范(连接核心、发现、注册等)。
- 解析HTML格式的规范并提取元数据。
- 对长时间运行的操作提供进度通知。
工作组支持
- 完整的工作组文档:检索任何IETF工作组的所有RFC和互联网草案。
- 活动文档过滤:自动过滤掉过期、撤回或替换的草案。
- 工作组元数据:包括工作组信息、描述和状态。
- 灵活过滤:选择包含/排除RFC或草案,设置每种类型的限制。
- 流行工作组:已在httpbis、oauth、tls、quic、dnsop等工作组进行测试。
通用特性
- 智能缓存:提高重复请求的性能。
- 全面的元数据:提取作者、日期、状态、摘要等信息。
- 基于章节的解析:按章节和子章节浏览文档。
- 多种输出格式:完整文档、仅元数据或仅章节。
- 强大的错误处理:优雅的回退机制和详细的错误消息。
- 符合MCP协议:与MCP兼容的客户端和MCP检查器完全集成。
- 双传输模式支持:支持stdio和HTTP传输模式。
- 增强的RFC解析:改进了各种RFC格式的标题提取。
- 进度通知:对长时间运行的操作提供实时进度更新。
- 高级日志记录:全面的日志记录,详细跟踪初始化阶段。
- 与MCP检查器兼容:具有正确的工具模式格式和参数验证。
- 通知支持:正确处理所有标准MCP通知。
- 传输健壮性:增强的错误处理和连接管理。
- 符合JSON - RPC 2.0:完全符合JSON - RPC 2.0规范。
📦 安装指南
标准查找器仅使用Python标准库,无需额外安装依赖。你可以直接运行以下命令启动服务器:
# 立即运行 - 无需安装!
python3 standard_finder.py
# 以HTTP模式运行
python3 standard_finder.py --http
# 在自定义端口以HTTP模式运行
python3 standard_finder.py --http --port 8080
💻 使用示例
基础用法
# 获取RFC 2616的元数据
await mcp.call_tool('get_rfc', {'number': '2616', 'format': 'metadata'})
# 搜索与HTTP协议相关的RFC
await mcp.call_tool('search_rfcs', {'query': 'http protocol', 'limit': 5})
高级用法
# 获取HTTPbis工作组的所有文档,包括RFC和互联网草案
await mcp.call_tool('get_working_group_documents', {
"working_group": "httpbis",
"include_rfcs": true,
"include_drafts": true,
"limit": 20
})
📚 详细文档
可用工具
RFC工具
get_rfc
按编号获取RFC文档。 参数:
number(字符串,必需):RFC编号(例如 "2616")。format(字符串,可选):输出格式(full、metadata、sections),默认:"full"。 示例:
{
"number": "2616",
"format": "metadata"
}
search_rfcs
按关键字搜索RFC。 参数:
query(字符串,必需):搜索关键字或短语。limit(数字,可选):返回的最大结果数,默认:10。 示例:
{
"query": "http protocol",
"limit": 5
}
get_rfc_section
从RFC中获取特定章节。 参数:
number(字符串,必需):RFC编号(例如 "2616")。section(字符串,必需):要检索的章节标题或编号。 示例:
{
"number": "2616",
"section": "Introduction"
}
互联网草案工具
get_internet_draft
按名称获取互联网草案文档。如果未指定版本,自动获取最新版本。 参数:
name(字符串,必需):互联网草案名称,可包含或不包含版本(例如 "draft - ietf - httpbis - http2 - 17" 或 "draft - ietf - httpbis - http2" 获取最新版本)。format(字符串,可选):输出格式(full、metadata、sections),默认:"full"。 示例:
{
"name": "draft - ietf - httpbis - http2 - 17",
"format": "metadata"
}
{
"name": "draft - ietf - httpbis - http2",
"format": "full"
}
search_internet_drafts
按关键字搜索互联网草案。 参数:
query(字符串,必需):搜索关键字或短语。limit(数字,可选):返回的最大结果数,默认:10。 示例:
{
"query": "http2 protocol",
"limit": 5
}
get_internet_draft_section
从互联网草案中获取特定章节。 参数:
name(字符串,必需):互联网草案名称(例如 "draft - ietf - httpbis - http2 - 17")。section(字符串,必需):要检索的章节标题或编号。 示例:
{
"name": "draft - ietf - httpbis - http2 - 17",
"section": "Introduction"
}
get_working_group_documents
获取特定IETF工作组的所有活动RFC和互联网草案。 参数:
working_group(字符串,必需):IETF工作组缩写(例如 "httpbis"、"oauth"、"tls")。include_rfcs(布尔值,可选):结果中是否包含RFC(默认:true)。include_drafts(布尔值,可选):结果中是否包含互联网草案(默认:true)。limit(数字,可选):每种类型的最大文档数(默认:50)。 示例:
{
"working_group": "httpbis",
"include_rfcs": true,
"include_drafts": true,
"limit": 20
}
响应包括:
- 工作组信息(名称、描述、状态)。
- 工作组发布的RFC列表。
- 工作组的活动互联网草案列表。
- 摘要统计信息(总数)。
OpenID基金会工具
get_openid_spec
按名称获取OpenID基金会规范。 参数:
name(字符串):OpenID规范的名称或标识符。format(字符串,可选):输出格式 - "full"(默认)、"metadata" 或 "sections"。 示例:
# 获取OpenID Connect核心规范
await mcp.call_tool('get_openid_spec', {'name': 'openid - connect - core'})
# 仅获取元数据
await mcp.call_tool('get_openid_spec', {'name': 'openid - connect - discovery', 'format': 'metadata'})
# 仅获取章节
await mcp.call_tool('get_openid_spec', {'name': 'oauth - 2.0 - multiple - response - types', 'format': 'sections'})
search_openid_specs
按关键字搜索OpenID基金会规范。 参数:
query(字符串):搜索查询/关键字。limit(整数,可选):最大结果数(默认:10)。 示例:
# 搜索OpenID Connect规范
await mcp.call_tool('search_openid_specs', {'query': 'connect'})
# 搜索OAuth规范
await mcp.call_tool('search_openid_specs', {'query': 'oauth', 'limit': 5})
get_openid_spec_section
从OpenID基金会规范中获取特定章节。 参数:
name(字符串):OpenID规范的名称。section(字符串):要检索的章节标题或标识符。 示例:
# 从OpenID Connect核心规范中获取身份验证章节
await mcp.call_tool('get_openid_spec_section', {
'name': 'openid - connect - core',
'section': 'Authentication'
})
可用资源
RFC资源
rfc://{number}:按编号获取RFC文档。rfc://search/{query}:按关键字搜索RFC。
互联网草案资源
draft://{name}:按名称获取互联网草案文档(如果未指定版本,获取最新版本)。draft://search/{query}:按关键字搜索互联网草案。draft://latest/{basename}:按基本名称获取互联网草案的最新版本。
工作组资源
wg://{group}:获取工作组的所有文档(RFC和互联网草案)。wg://{group}/rfcs:仅获取工作组的RFC。wg://{group}/drafts:仅获取工作组的互联网草案。
OpenID基金会资源
openid://{name}:按名称获取OpenID基金会规范。openid://search/{query}:按关键字搜索OpenID规范。
命令行选项
python3 standard_finder.py --help # 显示帮助信息
python3 standard_finder.py # 以stdio模式运行(默认)
python3 standard_finder.py --stdio # 明确以stdio模式运行
python3 standard_finder.py --http # 在端口3000上运行HTTP服务器
python3 standard_finder.py --http --port 8080 # 在端口8080上运行HTTP服务器
python3 standard_finder.py --log - level DEBUG # 设置日志级别(DEBUG、INFO、WARNING、ERROR)
python3 standard_finder.py --log - dir /var/log/rfc # 自定义日志目录
日志记录
服务器包含全面的日志记录,具有自动轮转和增强的调试功能:
日志特性
- 特定实例的日志文件:每个服务器实例都有自己的日志文件。
- 自动轮转:日志文件在达到10MB时轮转,保留5个备份文件。
- 带时间戳的文件名:格式:
rfc_server_YYYYMMDD_HHMMSS_PID.log。 - 多个日志级别:DEBUG、INFO、WARNING、ERROR。
- 结构化日志:包括时间戳、函数名和行号。
- 增强的初始化日志:详细跟踪MCP初始化阶段。
- 请求/响应日志:完全可见MCP协议交换。
- 进度通知:对长时间运行的操作进行实时日志记录。
- 错误诊断:全面的错误报告,包含完整上下文。
日志位置
- 默认:
/tmp/rfc_server/。 - 自定义:使用
--log - dir选项。 - 权限:确保目录可写。
日志内容
- 服务器生命周期:启动/关闭事件,包含详细配置。
- MCP协议:所有请求、响应和通知,包含完整JSON。
- 初始化阶段:客户端初始化过程的详细日志记录。
- 工具执行:RFC和互联网草案获取操作的时间记录。
- 错误条件:包含完整请求上下文的堆栈跟踪。
- 性能指标:缓存命中、响应大小和时间数据。
- 传输层:STDIO和HTTP连接管理。
- 验证:JSON - RPC 2.0合规性和模式验证。
增强的初始化日志
🚀 INITIALIZE REQUEST RECEIVED
Handling request: initialize (ID: 1)
Request timestamp: 2024 - 10 - 01T18:08:29.123456
Validating initialize request format:
✅ protocolVersion: str
Protocol version: 2024 - 11 - 05
✅ clientInfo: dict
Client name: mcp - client
Client version: 1.0.0
📤 SENDING INITIALIZE RESPONSE
==================================================
Initialize response being sent to client:
Response size: 456 bytes
Response ID: 1 (type: int)
Raw JSON: {"jsonrpc":"2.0","id":1,"result":...}
==================================================
✅ INITIALIZE RESPONSE SENT SUCCESSFULLY
📢 NOTIFICATIONS/INITIALIZED RECEIVED
✅ Client initialization confirmed - server is ready for requests
示例日志条目
2024 - 10 - 01 18:08:29,123 - rfc_server - INFO - main:45 - Starting RFC MCP Server with arguments: {'http': true, 'port': 3000}
2024 - 10 - 01 18:08:29,456 - rfc_server - INFO - handle_request:289 - 🚀 INITIALIZE REQUEST RECEIVED
2024 - 10 - 01 18:08:29,789 - rfc_server - INFO - handle_request:345 - ✅ JSON - RPC 2.0 version confirmed
2024 - 10 - 01 18:08:30,012 - rfc_server - INFO - run_stdio:837 - ✅ INITIALIZE RESPONSE SENT SUCCESSFULLY
2024 - 10 - 01 18:08:30,234 - rfc_server - INFO - handle_request:567 - 📢 NOTIFICATIONS/INITIALIZED RECEIVED
测试HTTP模式
启动HTTP服务器:
python3 standard_finder.py --http
测试端点:
# 健康检查
curl http://localhost:3000/health
# 初始化MCP会话
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024 - 11 - 05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
# 列出工具
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 调用RFC工具
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_rfc","arguments":{"number":"2616","format":"metadata"}}}'
# 调用工作组工具
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"get_working_group_documents","arguments":{"working_group":"oauth","limit":10}}}'
# 获取OpenID Connect核心规范
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"get_openid_spec","arguments":{"name":"openid - connect - core","format":"metadata"}}}'
# 搜索OpenID规范
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"search_openid_specs","arguments":{"query":"oauth","limit":5}}}'
开发
项目结构
standard_finder.py # 主MCP服务器(零依赖)
requirements.txt # 可选的Python依赖
tests/
test_final.py # 全面的测试套件
README.md # 本文件
output/ # 生成的输出文件
运行测试
# 运行全面的测试套件
python3 tests/test_final.py
# 或者使用npm
npm test
MCP检查器兼容性
服务器与 MCP检查器 完全兼容,可用于调试和测试MCP工具:
模式格式
- 包装参数:工具模式使用MCP检查器期望的格式,带有命名输入包装器(例如,
GetRfcInput、SearchRfcsInput)。 - 向后兼容性:仍然支持现有客户端的直接参数格式。
- 自动检测:自动检测并处理两种参数格式。
- 全面的模式:所有9个工具都有详细的JSON模式定义和正确的验证。
- 参数描述:丰富的参数描述和约束,以提供更好的用户体验。
协议合规性
- JSON - RPC 2.0:完全符合JSON - RPC 2.0规范。
- MCP通知:正确处理
notifications/initialized和其他标准通知。 - ID一致性:保持请求和响应之间的ID类型一致性。
- 错误处理:正确的错误响应格式,带有适当的错误代码。
使用MCP检查器进行测试
# 以HTTP模式启动服务器
python3 standard_finder.py --http --port 3000
# 将MCP检查器连接到http://localhost:3000/mcp
# 所有工具将以正确的参数模式和验证显示
# 测试直接和包装参数格式
调试功能
- 增强的日志记录:详细记录初始化阶段和所有MCP操作。
- 请求/响应跟踪:完全可见MCP协议交换。
- 验证日志:详细验证请求和响应。
- 错误诊断:全面的错误报告,带有堆栈跟踪。
传输模式
Stdio模式(默认)
- ✅ MCP标准:官方MCP传输协议。
- ✅ 基于进程:客户端将服务器作为子进程启动。
- ✅ 可靠:直接的进程通信。
- ✅ 安全:无网络暴露。
- ✅ 与Q CLI兼容:与MCP客户端完美配合。
HTTP模式
- 🌐 基于网络:服务器作为HTTP服务运行。
- 🔧 开发/测试:对调试有用。
- 🌍 Web集成:启用CORS以支持浏览器访问。
- 🔒 网络安全:需要额外的安全考虑。
快速开始示例
使用MCP客户端
配置完成后,你可以在任何MCP兼容的客户端中使用这些工具:
# 获取RFC 2616(HTTP/1.1)
await mcp.call_tool('get_rfc', {'number': '2616', 'format': 'metadata'})
# 搜索与HTTP相关的RFC
await mcp.call_tool('search_rfcs', {'query': 'HTTP', 'limit': 5})
# 获取最新的HTTP/2互联网草案
await mcp.call_tool('get_internet_draft', {'name': 'draft - ietf - httpbis - http2'})
# 搜索WebSocket草案
await mcp.call_tool('search_internet_drafts', {'query': 'websocket'})
# 获取OAuth工作组的所有文档
await mcp.call_tool('get_working_group_documents', {
'working_group': 'oauth',
'include_rfcs': true,
'include_drafts': true,
'limit': 20
})
# 仅获取TLS工作组的RFC
await mcp.call_tool('get_working_group_documents', {
'working_group': 'tls',
'include_rfcs': true,
'include_drafts': false,
'limit': 10
})
# 获取OpenID Connect核心规范
await mcp.call_tool('get_openid_spec', {
'name': 'openid - connect - core',
'format': 'metadata'
})
# 搜索OAuth规范
await mcp.call_tool('search_openid_specs', {
'query': 'oauth',
'limit': 5
})
使用资源
# 通过资源URI访问
await mcp.read_resource('rfc://2616')
await mcp.read_resource('draft://draft - ietf - httpbis - http2')
await mcp.read_resource('rfc://search/HTTP')
# 工作组资源
await mcp.read_resource('wg://httpbis') # 所有文档
await mcp.read_resource('wg://oauth/rfcs') # 仅RFC
await mcp.read_resource('wg://tls/drafts') # 仅草案
🔧 技术细节
服务器实现了三个主要组件:
- RFC服务:处理从RFC中获取、解析和提取数据,具有增强的标题解析功能。
- 互联网草案服务:处理从互联网草案中获取、解析和提取数据,支持工作组。
- MCP服务器:实现MCP协议,并通过stdio和HTTP传输暴露工具和资源。
标准查找器仅使用Python标准库,采用TXT格式解析以实现最大兼容性。互联网草案服务与IETF数据跟踪器API集成,以增强搜索功能和工作组文档检索。
关键特性
智能版本处理
互联网草案服务自动检测你是请求特定版本还是最新版本:
draft - ietf - httpbis - http2 - 17→ 专门获取版本17。draft - ietf - httpbis - http2→ 自动获取最新可用版本。
工作组集成
- 完整的文档检索:获取任何IETF工作组的所有RFC和互联网草案。
- 实时数据:使用实时IETF数据跟踪器API获取最新信息。
- 智能过滤:自动排除过期、撤回或替换的文档。
- 灵活选项:根据需要选择文档类型并设置限制。
强大的错误处理
- 优雅地处理网络超时和故障。
- 无效的RFC/草案编号返回详细的错误消息。
- 回退机制确保最大兼容性。
- 全面的日志记录用于调试和监控。
性能优化
- 内存缓存减少重复的网络请求。
- 并发请求处理提高吞吐量。
- 高效解析HTML和纯文本格式。
- HTTP模式支持多个同时连接。
- 增强的RFC标题提取以获取更好的元数据。
数据源
- RFC:官方IETF RFC存储库(rfc - editor.org)。
- 互联网草案:IETF数据跟踪器(datatracker.ietf.org)。
- 工作组:IETF数据跟踪器API(datatracker.ietf.org/api)。
- 搜索:IETF数据跟踪器API,带有网页抓取回退机制。
支持的流行工作组
- httpbis - HTTP协议规范。
- oauth - OAuth身份验证和授权。
- tls - 传输层安全。
- quic - QUIC传输协议。
- dnsop - DNS操作。
- jose - JSON对象签名和加密。
- ietf - 一般IETF文档。
- 还有更多...
📄 许可证
本项目采用Apache许可证2.0 - 有关详细信息,请参阅 LICENSE 文件。
近期改进
版本0.2504.4 - 最新增强功能
MCP检查器兼容性
- 工具模式格式:更新为与MCP检查器兼容的格式,带有命名输入包装器。
- 参数处理:双格式支持 - 处理包装和直接参数格式。
- 自动检测:自动检测参数格式并相应处理。
- 全面的模式:所有9个工具都有详细的JSON模式定义。
协议合规性
- JSON - RPC 2.0:完全符合JSON - RPC 2.0规范。
- MCP通知:增加了对
notifications/initialized和其他标准通知的支持。 - ID一致性:增强了请求和响应之间的ID类型保留。
- 错误处理:改进了错误响应格式,带有正确的错误代码。
增强的日志记录
- 初始化阶段跟踪:详细记录完整的MCP初始化序列。
- 请求/响应日志:完全可见所有MCP协议交换。
- 进度通知:对长时间运行的操作进行实时日志记录。
- 验证日志:全面验证请求和响应。
- 错误诊断:增强的错误报告,包含完整上下文和堆栈跟踪。
传输层改进
- STDIO健壮性:增强的错误处理和连接管理。
- 响应大小管理:在STDIO模式下自动截断大响应。
- 字符清理:改进了响应中特殊字符的处理。
- 连接跟踪:详细记录连接生命周期和状态。
工具增强
- 进度回调:为关键工具添加了进度通知支持。
- 参数验证:增强的参数验证,带有详细的错误消息。
- OpenID基金会支持:与OpenID规范目录完全集成。
- 工作组文档:增强的元数据和过滤功能。
兼容性
- 向后兼容:所有现有客户端无需更改即可继续工作。
- MCP检查器就绪:与MCP检查器完全兼容,用于调试。
- Q CLI兼容:与Q CLI和其他MCP客户端无缝配合。
- HTTP/STDIO双模式:两种传输模式都得到充分支持和测试。
故障排除
常见问题
MCP检查器连接问题
# 确保服务器以HTTP模式运行
python3 standard_finder.py --http --port 3000
# 检查服务器是否响应
curl http://localhost:3000/health
# 验证MCP端点
curl -X POST http://localhost:3000/mcp \
-H "Content - Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024 - 11 - 05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
STDIO模式问题
- 大响应截断:在STDIO模式下,超过200KB的响应会自动截断。
- 字符编码:为了与STDIO兼容,会清理特殊字符。
- 连接中断:检查日志中的传输关闭问题。
日志记录和调试
# 启用调试日志
python3 standard_finder.py --log - level DEBUG
# 检查日志文件
ls -la /tmp/rfc_server/
# 监控实时日志
tail -f /tmp/rfc_server/rfc_server_*.log
工具参数问题
- MCP检查器格式:使用包装参数,如
{"GetRfcInput": {"number": "2616"}}。 - 直接格式:使用直接参数,如
{"number": "2616", "format": "metadata"}。 - 自动检测:服务器自动检测并处理两种格式。
性能优化
- 缓存:响应在内存中缓存,以处理重复请求。
- 格式选择:当不需要完整内容时,使用
"metadata"格式以获得更快的响应。 - 限制参数:在搜索操作中使用适当的限制,以避免超时。
get_rfc
根据RFC编号获取RFC文档
参数
number : string*
描述
RFC编号(例如:'2616'、'7540')
参数
format : string*
描述
输出格式:完整文档、仅元数据或仅章节
search_rfcs
通过关键词搜索RFC文档
参数
query : string*
描述
搜索查询或关键词
参数
limit : integer*
描述
返回结果的最大数量
get_rfc_section
从RFC中获取特定章节
参数
number : string*
描述
RFC编号(例如:'2616')
参数
section : string*
描述
要检索的章节标题或标识符
get_internet_draft
根据名称获取互联网草案文档
参数
name : string*
描述
互联网草案名称(例如:'draft-ietf-httpbis-http2'或'draft-ietf-httpbis-http2-17')
参数
format : string*
描述
输出格式:完整文档、仅元数据或仅章节
search_internet_drafts
通过关键词搜索互联网草案
参数
query : string*
描述
搜索查询或关键词
参数
limit : integer*
描述
返回结果的最大数量
get_internet_draft_section
从互联网草案中获取特定章节
参数
name : string*
描述
互联网草案名称
参数
section : string*
描述
要检索的章节标题或标识符
get_openid_spec
根据名称获取OpenID基金会规范
参数
name : string*
描述
OpenID规范名称(例如:'openid-connect-core'、'oauth-2.0-multiple-response-types')
参数
format : string*
描述
输出格式:完整文档、仅元数据或仅章节
search_openid_specs
通过关键词搜索OpenID基金会规范
参数
query : string*
描述
搜索查询或关键词
参数
limit : integer*
描述
返回结果的最大数量
get_openid_spec_section
从OpenID基金会规范中获取特定章节
参数
name : string*
描述
OpenID规范名称
参数
section : string*
描述
要检索的章节标题或标识符
get_working_group_documents
获取特定IETF工作组的所有活跃RFC和互联网草案
参数
working_group : string*
描述
IETF工作组名称(例如:'httpbis'、'oauth'、'tls')
参数
include_rfcs : boolean*
描述
包含工作组发布的RFC
参数
include_drafts : boolean*
描述
包含工作组的活跃互联网草案
参数
limit : integer*
描述
返回文档的最大数量
替代品
R
Rsdoctor
Rsdoctor 是一款专为 Rspack 生态系统打造的构建分析工具,全面兼容 webpack,提供可视化构建分析、多维度性能诊断及智能优化建议,帮助开发者提升构建效率与工程质量。
TypeScript
8.6K
5分
N
Next Devtools MCP
Next.js开发工具MCP服务器,为Claude、Cursor等AI编程助手提供Next.js开发工具和实用程序,包括运行时诊断、开发自动化和文档访问功能。
TypeScript
9.4K
5分
T
Testkube
Testkube是一个面向云原生应用的测试编排与执行框架,提供统一平台来定义、运行和分析测试,支持现有测试工具和Kubernetes基础设施。
Go
5.8K
5分
M
MCP Windbg
一个MCP服务器,将AI模型与WinDbg/CDB集成,用于分析Windows崩溃转储文件和进行远程调试,支持自然语言交互执行调试命令。
Python
8.8K
5分
R
Runno
Runno是一个JavaScript工具包集合,用于在浏览器和Node.js等环境中安全地运行多种编程语言的代码,通过WebAssembly和WASI实现沙盒化执行,支持Python、Ruby、JavaScript、SQLite、C/C++等语言,并提供Web组件、MCP服务器等集成方式。
TypeScript
9.7K
5分
P
Praisonai
PraisonAI是一个生产就绪的多AI智能体框架,具有自反思功能,旨在创建AI智能体来自动化解决从简单任务到复杂挑战的各种问题。它通过将PraisonAI智能体、AG2和CrewAI集成到一个低代码解决方案中,简化了多智能体LLM系统的构建和管理,强调简单性、定制化和有效的人机协作。
Python
9.2K
5分

Netdata
Netdata是一个开源实时基础设施监控平台,提供每秒级指标收集、可视化、机器学习驱动的异常检测和自动化告警,无需复杂配置即可实现全栈监控。
Go
9.4K
5分
M
MCP Server
Mapbox MCP服务器是一个Node.js实现的模型上下文协议服务器,为AI应用提供Mapbox地理空间API的访问能力,包括地理编码、兴趣点搜索、路线规划、等时线分析和静态地图生成等功能。
TypeScript
8.2K
4分

Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
141.0K
5分

Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
71.6K
4.5分

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
80.4K
4.3分

Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
46.3K
4.5分

Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
60.8K
4.8分

Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
54.3K
5分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
30.8K
4.8分

Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
99.6K
4.7分
