MCP Hub工具
一个允许搜索和检索注册在MCP中心的模型上下文协议服务器信息的MCP服务器。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mcp-hub": {
"args": [
"@aimcp/tools"
],
"command": "npx",
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
}
}
该服务需要配置环境变量:MCP_HUB_API_KEY
可用工具 (1 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
search_mcp_hub 1 个参数 需填 1 项
Search for MCPs on the MCP Hub
必填参数:keywords
服务介绍
mcphub_tools MCP 服务器
由 aimcp 提供支持的 Mcp 工具,可以找到你想要的任何 MCP。此服务器允许在 MCP Hub 中搜索可用的 MCP。
开放协议
该服务器实现了 Model Context Protocol (MCP)。它作为一个 MCP 服务器,可以被 MCP 客户端(如兼容的人工智能助手或开发工具)连接。
简介
mcphub_tools 是一个设计用于与 MCP Hub 交互的 MCP 服务器。其主要功能是提供一种工具,允许用户根据关键词搜索在中心注册的 MCP(模型上下文协议/服务器)。
工具
该服务器提供了以下工具:
search_mcp_hub
-
描述: 在 MCP Hub 上搜索 MCP。
-
输入模式:
json
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "用于搜索 MCP 的关键词"
}
},
"required": ["keywords"]
} -
输出: 返回一个包含从 MCP Hub API 获取的搜索结果的 JSON 字符串。
get_mcp_info
-
描述: 获取特定 MCP 的详细信息。
-
输入模式:
json
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "MCP 标识符 (UUID)"
}
},
"required": ["id"]
} -
输出: 返回一个包含指定 MCP 详细信息的 JSON 字符串。
实现选项
MCP Hub 支持两种不同的 MCP 服务器实现方式:
1. 标准 stdio 基础的 MCP 服务器
这是一种传统的实现方式,其中 MCP 服务器通过标准输入/输出 (stdio) 与客户端通信。这种方式非常适合那些可以与像 Claude Desktop 这样的 MCP 客户端集成的独立命令行工具。
使用基于 stdio 的实现最简单的方法是通过我们发布的包:
bash
使用 npx(推荐大多数用户)
npx @aimcp/tools
使用 uvx(启动更快)
uvx @aimcp/tools
2. HTTP 基础的 MCP 服务器
MCP Hub 还提供了一种基于 HTTP 的实现,允许人工智能助手和其他工具通过 HTTP 连接到 MCP 服务器。这在 MCP Hub 的 API /api/open/v1/streamable 中实现。
HTTP 端点位于:
https://mcp.aimcp.info/api/open/v1/streamable
使用方法
先决条件
- 对于基于 stdio 的实现,需要安装 Node.js 和 npm(或 pnpm/yarn)。
- 来自 MCP Hub (https://www.aimcp.info) 的 API 密钥。
如何获取 API 密钥
- 访问 https://www.aimcp.info。
- 注册或登录。
- 转到您的个人资料或账户设置。
- 查找生成或检索您的 API 密钥的选项。
- 或者您可以访问 这里 生成 API 密钥。
注意:API 密钥每小时请求限制为 20 次。
身份验证
MCP API 需要使用有效的 API 密钥进行身份验证。必须通过以下方式提供密钥:
- 对于基于 stdio 的实现:环境变量
MCP_HUB_API_KEY。 - 对于基于 HTTP 的实现:作为 Bearer 令牌的
Authorization头。
Authorization: Bearer YOUR_API_KEY
与 AI 助手和 MCP 客户端集成
Claude Desktop 配置
要将 MCP Hub 与 Claude Desktop 一起使用:
-
找到您的 Claude Desktop 配置文件:
- Windows:
%APPDATA%claudeconfig.json - macOS:
~/Library/Application Support/claude/config.json或~/.config/claude/config.json - Linux:
~/.config/claude/config.json
- Windows:
-
添加以下配置:
json
{
"mcpServers": {
"mcp-hub": {
"command": "npx",
"args": ["@aimcp/tools"],
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
}
}
- 重启 Claude Desktop 以应用更改。#### Cline 和其他 CLI 工具
对于基于命令行的工具,如 Cline:
- 在项目目录中创建一个名为
servers.json的配置文件:
json
{
"servers": [
{
"name": "mcp-hub-tools",
"command": ["npx", "@aimcp/tools"],
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
]
}
- 使用该配置文件启动工具:
bash
cline --mcp-servers-config ./servers.json
支持远程 MCP 服务器的工具
一些较新的 MCP 客户端支持直接 HTTP 连接。使用以下方式配置它们:
json
{
"mcpServers": {
"mcp-hub-http": {
"url": "https://mcp.aimcp.info/api/open/v1/streamable",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
使用基于文件配置的工具(如 Cursor 等)
- 创建一个配置文件:
json
{
"mcpServers": {
"mcp-hub": {
"command": "npx",
"args": ["@aimcp/tools"],
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
}
}
- 在工具设置中引用此文件或使用适当的配置参数启动。
手动运行
您也可以手动运行基于 stdio 的服务器进行测试(确保在环境中设置了 MCP_HUB_API_KEY):
bash
export MCP_HUB_API_KEY="YOUR_API_KEY_HERE"
npx @aimcp/tools
API 接口
该服务器与以下 MCP Hub API 端点交互:
- 端点:
GET https://www.aimcp.info/api/open/v1/search - 认证: 需要在
Authorization头中使用MCP_HUB_API_KEY提供 Bearer 令牌。 - 查询参数:
keywords(字符串)
使用基于 HTTP 的 MCP API
MCP Hub 在 /api/open/v1/streamable 提供了一个基于 HTTP 的 MCP 服务器,实现了模型上下文协议。这允许 AI 助手和工具直接搜索 MCP 并检索 MCP 信息。
连接步骤
- 首先,建立连接以获取会话 ID:
bash
GET /api/open/v1/streamable
Authorization: Bearer YOUR_API_KEY
响应:
json
{
"success": true,
"sessionId": "194830ab-eb0b-4d17-a574-af96705276c2",
"message": "连接已建立。请使用此会话 ID 进行后续调用。"
}
- 使用会话 ID 调用工具:
bash
POST /api/open/v1/streamable?sessionId=194830ab-eb0b-4d17-a574-af96705276c2
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"jsonrpc": "2.0",
"method": "callTool",
"params": {
"name": "search_mcp_hub",
"arguments": {
"keywords": "example"
}
},
"id": "call-1"
}
开发与部署
开发
- 安装依赖:
pnpm install - 构建:
pnpm run build(将 TypeScript 编译为 JavaScript 并输出到build/) - 监视模式:
pnpm run watch(自动重新编译更改) - 使用 Inspector 测试:
pnpm run inspector(使用 MCP Inspector 工具运行服务器)
创建自己的基于 stdio 的 MCP 服务器
如果您想创建自己的基于 stdio 的 MCP 服务器,请按照以下步骤操作:
-
设置您的项目:
bash
mkdir my-mcp-server
cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk -
创建您的服务器实现:
typescript
// index.ts
import { Server } from '@modelcontextprotocol/sdk/server';
import {
CallToolRequestSchema,
ListToolsRequestSchema,
McpError,
ErrorCode
} from '@modelcontextprotocol/sdk/types';
import { StdioTransport } from '@modelcontextprotocol/sdk/transports/stdio';
// 创建 MCP 服务器实例
const server = new Server(
{
name: "my-mcp-server",
version: "1.0.0"
},
{
capabilities: {
tools: {},
}
}
);
// 设置工具处理程序
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [
{
name: 'my_tool',
description: '我的工具描述',
inputSchema: {
type: 'object',
properties: {
param1: {
type: 'string',
description: '参数1的描述',
},
},
required: ['param1'],
},
},
],
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => {
// 提取工具名称和参数
const toolName = request.params.name;
const args = request.params.arguments;
if (toolName === 'my_tool') {
// 验证参数
if (typeof args !== 'object' || args === null || typeof args.param1 !== 'string') {
throw new McpError(
ErrorCode.InvalidParams,
'无效的参数。需要 "param1" (字符串)。'
);
}
try {
// 实现您的工具逻辑
const result = `Processed: ${args.param1}`;
return {
content: [
{
type: 'text',
text: result,
},
],
};
} catch (error) {
return {
content: [
{
type: 'text',
text: `Error: ${error instanceof Error ? error.message : String(error)}`,
},
],
isError: true,
};
}
} else {
throw new McpError(
ErrorCode.MethodNotFound,
未知工具: ${toolName}
);
}
});
// 将服务器连接到 stdin/stdout
const transport = new StdioTransport();
server.connect(transport).catch(console.error);3. 编译并运行您的服务器:
bash
npx tsc
node dist/index.js
- 使用MCP Inspector工具测试您的服务器:
bash
npx @modelcontextprotocol/inspector
部署
- 确保服务器已构建(
pnpm run build)。 build目录中包含必要的JavaScript文件。- 可以使用
node build/index.js或命令mcphub_tools来运行服务器,前提是包已正确安装(例如全局安装或链接)。 - 配置您的MCP客户端/管理器指向服务器可执行文件,并提供
MCP_HUB_API_KEY环境变量。
您还可以将MCP服务器发布到npm,以便其他人可以安装和使用它。