RAP2 MCP Server
Integrates with RAP2 API documentation platform, allowing AI assistants to access, search, and retrieve API interface documentation, manage repository interfaces, and query API specifications from RAP2 instances.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RAP2 MCP Serversearch for user authentication APIs in the payment repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RAP2 MCP Server - API Documentation for LLMs and AI Code Editors
RAP2 MCP Server - 将 RAP2 API 文档和接口管理能力无缝集成到 AI 编程助手中,让 LLM 能够直接访问和操作 RAP2 接口文档。
⚡ 快速开始
方式一:直接使用 npx(推荐,无需安装)
# 直接运行,无需安装
npx -y rap2-mcp-tool@latest方式二:在 AI 编程助手中集成(最推荐)
直接在您的 AI 编程助手(如 Cursor、Claude Desktop)中配置 MCP 服务器,无需手动启动:
{
"mcpServers": {
"rap2": {
"command": "npx",
"args": ["-y", "rap2-mcp-tool@latest"],
"env": {
"RAP2_BASE_URL": "http://rap2.example.com",
"RAP2_EMAIL": "your@email.com",
"RAP2_PASSWORD": "yourpassword"
}
}
}
}配置完成后,AI 助手将自动启动 RAP2 MCP 服务器,您可以直接在对话中使用 RAP2 接口文档功能。
🚀 特性
🔗 无缝集成 - 标准 MCP 协议,支持所有主流 AI 编程助手
📚 接口文档访问 - 直接获取 RAP2 接口详情和文档
🔍 智能搜索 - 按关键字搜索接口,支持跨仓库查询
🔐 灵活认证 - 支持账号密码和 Cookie 两种认证方式
📊 结构化日志 - 完整的请求日志记录,便于调试和监控
⚡ 高性能 - 基于 undici 的高性能 HTTP 客户端
🛡️ 安全可靠 - 支持多种认证方式,确保数据安全
🎯 精准匹配 - 智能接口搜索,快速定位所需 API
🔄 实时同步 - 与 RAP2 实例实时同步,确保数据最新
📱 跨平台 - 支持 Windows、macOS、Linux 等主流操作系统
🔧 易于配置 - 简单的环境变量配置,快速上手
📈 可扩展 - 模块化设计,易于扩展新功能
📦 安装方式
推荐方式:使用 npx(无需安装)
# 直接使用最新版本,无需安装
npx -y rap2-mcp-tool@latest可选方式:全局安装
如果您需要频繁使用命令行工具,可以选择全局安装:
# 使用 npm
npm install -g rap2-mcp-tool
# 使用 pnpm
pnpm add -g rap2-mcp-tool
# 使用 yarn
yarn global add rap2-mcp-tool开发方式:从源码安装
git clone https://github.com/MarveleE/rap2-mcp.git
cd rap2-mcp
npm install⚙️ 配置
环境变量
变量名 | 必需 | 描述 | 示例 |
| ✅ | RAP2 实例地址 |
|
| 🔄 | 登录邮箱(与密码配对使用) |
|
| 🔄 | 登录密码(与邮箱配对使用) |
|
| 🔄 | 已登录的 Cookie SID |
|
| 🔄 | 已登录的 Cookie 签名 |
|
认证方式说明:支持两种认证方式,二选一即可:
账号密码:使用
RAP2_EMAIL+RAP2_PASSWORDCookie 认证:使用
RAP2_SID+RAP2_SID_SIG
手动启动服务器(可选)
如果您需要手动启动服务器进行测试或调试:
使用账号密码认证
# 使用 npx(推荐,无需安装)
RAP2_BASE_URL="http://rap2.example.com" \
RAP2_EMAIL="you@example.com" \
RAP2_PASSWORD="yourpass" \
npx -y rap2-mcp-tool@latest
# 或全局安装后使用命令
RAP2_BASE_URL="http://rap2.example.com" \
RAP2_EMAIL="you@example.com" \
RAP2_PASSWORD="yourpass" \
rap2-mcp使用 Cookie 认证
# 使用 npx(推荐,无需安装)
RAP2_BASE_URL="http://rap2.example.com" \
RAP2_SID="your_sid_value" \
RAP2_SID_SIG="your_sig_value" \
npx -y rap2-mcp-tool@latest
# 或全局安装后使用命令
RAP2_BASE_URL="http://rap2.example.com" \
RAP2_SID="your_sid_value" \
RAP2_SID_SIG="your_sig_value" \
rap2-mcp🔧 与 AI 编程助手集成
🎯 这是最推荐的使用方式! 直接在 AI 编程助手中集成,无需手动启动服务器。
通用配置模板(推荐)
{
"mcpServers": {
"rap2": {
"command": "npx",
"args": ["-y", "rap2-mcp-tool@latest"],
"env": {
"RAP2_BASE_URL": "http://rap2.example.com",
"RAP2_EMAIL": "your@email.com",
"RAP2_PASSWORD": "yourpassword"
}
}
}
}Cursor 配置
在 Cursor 的 MCP 配置中添加:
{
"mcpServers": {
"rap2": {
"command": "npx",
"args": ["-y", "rap2-mcp-tool@latest"],
"env": {
"RAP2_BASE_URL": "http://rap2.example.com",
"RAP2_EMAIL": "your@email.com",
"RAP2_PASSWORD": "yourpassword"
}
}
}
}Claude Desktop 配置
在 Claude Desktop 的配置文件中添加:
{
"mcpServers": {
"rap2": {
"command": "npx",
"args": ["-y", "rap2-mcp-tool@latest"],
"env": {
"RAP2_BASE_URL": "http://rap2.example.com",
"RAP2_EMAIL": "your@email.com",
"RAP2_PASSWORD": "yourpassword"
}
}
}
}其他 MCP 客户端
任何支持 MCP 协议的客户端都可以使用此服务器,只需配置相应的启动命令和环境变量。
推荐配置(npx 方式,无需安装)
{
"mcpServers": {
"rap2": {
"command": "npx",
"args": ["-y", "rap2-mcp-tool@latest"],
"env": {
"RAP2_BASE_URL": "http://rap2.example.com",
"RAP2_EMAIL": "your@email.com",
"RAP2_PASSWORD": "yourpassword"
}
}
}
}可选配置(全局安装方式)
{
"mcpServers": {
"rap2": {
"command": "rap2-mcp",
"env": {
"RAP2_BASE_URL": "http://rap2.example.com",
"RAP2_EMAIL": "your@email.com",
"RAP2_PASSWORD": "yourpassword"
}
}
}
}🛠️ 可用工具
RAP2 MCP Server 提供以下工具供 LLM 使用:
rap2_test_connection
测试与 RAP2 服务器的连接状态
功能:探测服务器连通性,必要时自动登录
用途:验证配置和网络连接
rap2_ensure_session
确保有效的登录会话
功能:使用环境变量登录并保存 Cookie 到会话缓存
用途:建立和维护认证状态
rap2_debug_login_info
输出当前登录配置摘要
功能:显示登录配置信息(不包含明文密码)
用途:调试和验证配置
rap2_get_interface_by_id
通过接口 ID 获取接口详情
参数:
interfaceId(必需) - RAP2 中的接口 ID返回:接口的详细信息,包括 URL、方法、参数和响应数据结构
rap2_get_repository_interfaces
获取指定仓库中的所有接口列表
参数:
repositoryId(必需) - RAP2 中的仓库 ID返回:仓库中的所有接口列表
rap2_search_interfaces_by_keyword
通过关键字搜索接口
参数:
keyword(必需) - 搜索关键字repositoryId(可选) - 限制搜索范围的仓库 ID
返回:匹配的接口列表
rap2_search_interfaces_by_path
通过请求路径搜索接口
参数:
path(必需) - 请求路径(如:/api/users)repositoryId(可选) - 限制搜索范围的仓库 ID
返回:匹配的接口列表
📝 使用示例
在 AI 对话中使用(自然语言触发)
用户:获取接口id123的信息
AI:我来获取接口 123 的详情...
[调用 rap2_nl_get_interface_by_text 工具]
- 识别到接口ID:123
- 已自动登录并获取详情
结果:
方法:GET
路径:/api/demo
...
您也可以直接说:接口456、查看接口789获取特定接口详情
用户:请告诉我创建用户的接口详情
AI:[调用 rap2_get_interface_by_id 工具]
创建用户接口详情:
- 方法:POST
- URL:/api/users
- 请求参数:
- name (string, 必需) - 用户姓名
- email (string, 必需) - 用户邮箱
- role (string, 可选) - 用户角色
- 响应示例:
{
"id": 123,
"name": "张三",
"email": "zhangsan@example.com",
"role": "user",
"createdAt": "2024-01-01T00:00:00Z"
}📊 日志和监控
日志文件位置
路径:
/tmp/rap-mcp.log格式:结构化 JSON 日志
内容:服务器请求、响应、错误信息
查看日志
# 实时查看日志
tail -f /tmp/rap-mcp.log
# 查看最近的日志
tail -n 100 /tmp/rap-mcp.log
# 搜索特定内容
grep "ERROR" /tmp/rap-mcp.log🔧 开发
本地开发
# 克隆仓库
git clone https://github.com/MarveleE/rap2-mcp.git
cd rap2-mcp
# 安装依赖
npm install
# 启动开发服务器
npm run mcp项目结构
rap2-mcp/
├── src/
│ ├── mcp-server.js # MCP 服务器主文件
│ └── rap2Client.js # RAP2 API 客户端
├── package.json # 项目配置
├── README.md # 项目说明
└── .gitignore # Git 忽略规则测试
# 运行测试
npm test
# 测试 MCP 连接(开发模式)
npm run mcp
# 测试已发布的包
npx -y rap2-mcp-tool@latest --help🚨 故障排除
常见问题
1. 连接失败或未登录自动跳转HTML
检查
RAP2_BASE_URL是否正确确认网络连接正常
验证 RAP2 服务器是否可访问
已内置自动登录重试:若遇到 401/403 或返回 HTML 登录页,客户端会尝试一次自动登录并重试请求
2. 认证失败
确认邮箱和密码正确
检查 Cookie 是否过期
验证 RAP2 实例是否支持当前认证方式
可在对话中先说“确保已登录”触发
rap2_ensure_session
3. 模块未找到错误
# 使用 npx(推荐,无需安装)
npx -y rap2-mcp-tool@latest
# 或使用全局安装(可选)
npm install -g rap2-mcp-tool
# 验证安装
rap2-mcp --help4. 权限问题
# 确保有写入日志文件的权限
sudo chmod 666 /tmp/rap-mcp.log📋 系统要求
🟢 Node.js: >= 18.0.0
💻 操作系统: Windows, macOS, Linux
🧠 内存: 最少 128MB
🌐 网络: 需要访问 RAP2 实例的网络连接
📦 包管理器: npm, pnpm, yarn
🔧 开发工具: 支持 MCP 协议的 AI 编程助手
📄 许可证
本项目采用 MIT 许可证。
🤝 贡献
欢迎贡献代码!请遵循以下步骤:
🍴 Fork 本仓库 - 创建您的项目副本
🌿 创建特性分支 (
git checkout -b feature/AmazingFeature) - 为您的功能创建分支💾 提交更改 (
git commit -m 'Add some AmazingFeature') - 提交您的改进📤 推送到分支 (
git push origin feature/AmazingFeature) - 推送您的更改🔄 开启 Pull Request - 创建合并请求
贡献类型
🐛 Bug 修复 - 修复现有问题
✨ 新功能 - 添加新特性
📚 文档改进 - 完善文档
🎨 代码优化 - 提升代码质量
🧪 测试用例 - 增加测试覆盖
📞 支持
如果您遇到问题或有建议,请:
🐛 提交 Issue - 报告 Bug 或提出功能请求
📖 查看 Wiki - 详细文档和教程
💬 联系维护者 - 直接沟通和技术支持
⭐ 给项目点赞 - 支持项目发展
🍴 Fork 项目 - 参与开源贡献
📝 提交 PR - 贡献代码改进
⭐ Star History
如果这个项目对您有帮助,请给我们一个 ⭐!
RAP2 MCP Server - 让 AI 编程助手更智能地处理 API 文档!
Available Tools
7 toolsrap2_debug_login_infoB
调试当前登录环境配置(不返回明文密码)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool debugs login environment configuration and doesn't return plaintext passwords, which is useful context about security behavior. However, it doesn't disclose other traits like whether it's read-only, requires authentication, has rate limits, or what the output format looks like. The description adds some value but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that clearly states the tool's purpose and a key behavioral constraint (no plaintext passwords). It's front-loaded with essential information and has zero wasted words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, no annotations, and no output schema, the description is minimally adequate. It explains what the tool does and a security constraint, but for a debugging tool, it could provide more context about what 'debug' entails (e.g., returns configuration details, error messages) or when it's useful. The lack of output schema means the description doesn't explain return values, which is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%. With no parameters to document, the baseline is 4. The description doesn't need to add parameter semantics, and it appropriately focuses on the tool's purpose without unnecessary details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose is to debug current login environment configuration without returning plaintext passwords. This is clear about what it does (debug configuration) but doesn't specify how it differs from sibling tools like rap2_ensure_session or rap2_test_connection, which also relate to authentication/connection. The purpose is understandable but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when it should be used (e.g., for troubleshooting login issues) or when not to use it, nor does it reference sibling tools like rap2_ensure_session or rap2_test_connection. There's implied usage for debugging, but no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rap2_ensure_sessionB
使用环境参数登录并保存 Cookie 到会话缓存
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions logging in and saving cookies to a session cache, but lacks details on authentication requirements, error handling, rate limits, or what happens if a session already exists. This is a significant gap for a login tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's function without unnecessary words. It is appropriately sized and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a login tool with no annotations and no output schema, the description is incomplete. It doesn't explain the return values, error conditions, or behavioral traits like session management. This leaves gaps for an AI agent to understand how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description implies environment parameters are used for login, which adds context beyond the empty schema, though it doesn't specify what those parameters are. Baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '使用环境参数登录并保存 Cookie 到会话缓存' (Login using environment parameters and save cookies to session cache). It specifies the verb (login) and resource (session cache), though it doesn't explicitly differentiate from sibling tools like 'rap2_debug_login_info' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions using environment parameters for login, but doesn't specify scenarios, prerequisites, or exclusions compared to siblings like 'rap2_debug_login_info' or 'rap2_test_connection'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rap2_get_interface_by_idC
根据接口 ID 获取接口详情
| Name | Required | Description | Default |
|---|---|---|---|
| interfaceId | Yes | 接口 ID(传入字符串,内部会规范化) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't describe what '详情' (details) includes, whether it's a read-only operation, if it requires authentication, or any error conditions. This leaves significant gaps in understanding the tool's behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what '接口详情' includes in the response, potential error cases, or dependencies on other tools like 'rap2_ensure_session'. For a tool with no structured behavioral data, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'interfaceId' fully documented in the schema as '接口 ID(传入字符串,内部会规范化)'. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('获取接口详情' - get interface details) and the resource ('根据接口 ID' - by interface ID), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'rap2_get_repository_interfaces' or 'rap2_search_interfaces_by_keyword', which also retrieve interface information but through different mechanisms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'rap2_search_interfaces_by_keyword' or 'rap2_get_repository_interfaces'. It lacks context about prerequisites (e.g., whether a session is required) or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rap2_get_repository_interfacesC
获取仓库下的全部接口列表
| Name | Required | Description | Default |
|---|---|---|---|
| repositoryId | Yes | 仓库 ID(传入字符串) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it retrieves a list, implying a read-only operation, but doesn't specify whether it requires authentication, pagination behavior, rate limits, error conditions, or the format of the returned list. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to understand at a glance. Every part of the sentence contributes to clarifying the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't address behavioral aspects like authentication needs (implied by sibling tools), error handling, or the structure of the returned interface list. For a tool that likely interacts with a repository system, more context on usage and output is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'repositoryId' documented in the schema as '仓库 ID(传入字符串)' meaning 'repository ID (pass as string)'. The description doesn't add any additional meaning beyond this, such as where to find the ID or examples of valid values. Since the schema fully describes the parameter, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('获取' meaning 'get' or 'retrieve') and the resource ('仓库下的全部接口列表' meaning 'all interface lists under the repository'). It specifies the scope ('全部' meaning 'all') which helps distinguish it from sibling tools like rap2_get_interface_by_id (which gets a single interface) and rap2_search_interfaces_by_keyword/path (which search with filters). However, it doesn't explicitly differentiate from rap2_search_interfaces_by_keyword/path in terms of when to use one over the other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether authentication is needed, though sibling tools like rap2_ensure_session suggest session management), or compare it to sibling tools like rap2_search_interfaces_by_keyword/path for filtered searches. Usage is implied only by the tool name and description context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rap2_search_interfaces_by_keywordC
按关键字搜索接口(可选限定仓库)
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索关键字 | |
| repositoryId | No | 仓库 ID(可选,传入字符串) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the basic function without mentioning expected behavior like search scope (partial/full match), result format, pagination, error handling, or authentication requirements. For a search tool with zero annotation coverage, this leaves significant gaps in understanding how the tool actually behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single Chinese sentence that efficiently communicates the core functionality. Every word earns its place: '按关键字搜索接口' establishes the primary action, and '(可选限定仓库)' adds the optional constraint without redundancy. No unnecessary elaboration or structural issues exist.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (search functionality with optional filtering), lack of annotations, and absence of output schema, the description is insufficiently complete. It doesn't explain what constitutes an 'interface' in this context, how search results are returned, what happens when no matches are found, or any limitations/constraints. The agent would need to guess about important behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions both parameters ('关键字搜索接口' and '可选限定仓库'), which aligns with the 100% schema description coverage. However, it doesn't add meaningful semantic context beyond what's already in the schema descriptions ('搜索关键字' and '仓库 ID(可选)'). With complete schema coverage, the baseline is 3, and the description doesn't provide additional value like search algorithm details or repository relationship context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '按关键字搜索接口' (search interfaces by keyword) with optional repository limitation. It specifies both the verb ('搜索' - search) and resource ('接口' - interfaces), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'rap2_search_interfaces_by_path' or 'rap2_get_repository_interfaces', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance: it mentions the optional repository limitation but doesn't specify when to use this tool versus alternatives like 'rap2_search_interfaces_by_path' (path-based search) or 'rap2_get_repository_interfaces' (repository-specific listing). No explicit when-not-to-use scenarios or prerequisites are mentioned, leaving the agent with insufficient context for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rap2_search_interfaces_by_pathC
按请求路径搜索接口(可选限定仓库)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | 请求路径(如:/api/users) | |
| repositoryId | No | 仓库 ID(可选,传入字符串) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers almost none. It doesn't describe what 'search' entails (e.g., exact match, partial match, case sensitivity), what the output looks like, pagination behavior, error conditions, or authentication requirements. The description merely restates the tool name with slight elaboration, failing to compensate for the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence in Chinese that directly states the function. There's no wasted text or unnecessary elaboration. However, the brevity comes at the cost of completeness, as it lacks important contextual information that would help an agent use the tool effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 2 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what constitutes a successful search, what format results return, how many results to expect, or error handling. The agent would struggle to understand the tool's behavior beyond the basic parameter requirements documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional meaning beyond what's in the schema - it mentions 'request path' and 'optional repository limitation' which are already covered by parameter descriptions. This meets the baseline for high schema coverage where the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'search interfaces by request path' with optional repository limitation. It specifies both the verb ('search') and resource ('interfaces'), making the function understandable. However, it doesn't explicitly differentiate from sibling tools like 'rap2_search_interfaces_by_keyword' which suggests similar search functionality with different parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance, only mentioning the optional repository limitation. It doesn't indicate when to use this tool versus alternatives like 'rap2_search_interfaces_by_keyword' or 'rap2_get_repository_interfaces', nor does it specify prerequisites, success conditions, or error scenarios. The agent receives no contextual decision-making help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rap2_test_connectionA
测试连接并校验会话:探测 /repository/joined,必要时自动登录后再探测(可用提示:"测试rap连接"、"确保已登录")
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes key behaviors: probing a specific endpoint, automatic login if necessary, and example prompts for use. However, it lacks details on error handling, response format, or any rate limits or permissions required. The description adds some context but doesn't fully compensate for the absence of annotations, leaving gaps in understanding the tool's operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core action in the first clause. It includes useful example prompts without unnecessary elaboration. However, the inclusion of Chinese prompts might reduce clarity for non-Chinese speakers, and the structure could be slightly improved by separating the action from the usage hints more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving connection testing and automatic login), no annotations, no output schema, and 0 parameters, the description is moderately complete. It covers the what and how but lacks details on return values, error cases, or how it differs from siblings. For a tool with potential side effects (like automatic login), more behavioral context would be beneficial to ensure safe and correct usage by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's action and context. This aligns with the baseline expectation for tools with no parameters, where the description should not waste space on non-existent inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: testing connection and validating session by probing /repository/joined, with automatic login if needed. It uses specific verbs ('测试连接并校验会话', '探测', '自动登录') and identifies the resource ('/repository/joined'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like rap2_ensure_session, which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through example prompts ('测试rap连接', '确保已登录'), suggesting this tool is for verifying connectivity and session status. However, it doesn't provide explicit guidance on when to use this versus alternatives like rap2_ensure_session or rap2_debug_login_info, nor does it specify prerequisites or exclusions. The usage is implied but not clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
- First observed
rap2_debug_login_info - First observed
rap2_ensure_session - First observed
rap2_get_interface_by_id - First observed
rap2_get_repository_interfaces - First observed
rap2_search_interfaces_by_keyword - First observed
rap2_search_interfaces_by_path - First observed
rap2_test_connection
TDQS
Each tool has a clearly distinct purpose with no ambiguity. The tools cover different aspects of RAP2 API interaction: login/session management (debug_login_info, ensure_session, test_connection), interface retrieval by different criteria (by_id, repository_interfaces, search_by_keyword, search_by_path), and connection testing. No overlap exists between these functions.
All tools follow a consistent 'rap2_' prefix with snake_case naming and clear verb_noun patterns (e.g., 'get_interface_by_id', 'search_interfaces_by_keyword'). The naming convention is uniform throughout the toolset, making it predictable and easy to understand.
With 7 tools, this server is well-scoped for its purpose of interacting with RAP2 API. The count is appropriate, covering essential operations like authentication, interface retrieval, and search functionalities without being overwhelming or too sparse. Each tool earns its place in the workflow.
The toolset provides good coverage for core RAP2 API operations, including login/session management and interface retrieval/search. However, there are minor gaps in CRUD operations for interfaces (e.g., no create, update, or delete tools) and repository management, which agents might need to work around for full lifecycle coverage.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn any task into the right API calls: discover, evaluate, and integrate public APIs.
Search, inspect, recommend, and explain rated AI tools through Agent Radar.
Discover, compare, and monitor 1,400+ APIs directly from your AI coding agent.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarveleE/rap2-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server