mcp hub tools
An MCP server that allows searching for and retrieving information about Model Context Protocol servers registered on the MCP Hub.
An MCP server that allows searching for and retrieving information about Model Context Protocol servers registered on the MCP Hub.
Mcp tools powered by aimcp, find mcps whatever you want. This server allows searching the MCP Hub for available MCPs.
This server implements the Model Context Protocol (MCP). It acts as an MCP server that can be connected to by MCP clients (like compatible AI assistants or development tools).
mcphub_tools
is an MCP server designed to interact with the MCP Hub. Its primary function is to provide a tool that allows users to search for MCPs (Model Context Protocols/Servers) registered on the hub based on keywords.
This server provides the following tool:
search_mcp_hub
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Keywords to search for MCPs"
}
},
"required": ["keywords"]
}
get_mcp_info
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "MCP identifier (UUID)"
}
},
"required": ["id"]
}
MCP Hub supports two different ways to implement MCP servers:
This is the traditional implementation where the MCP server communicates with clients through standard input/output (stdio). This approach is ideal for standalone command-line tools that can be integrated with MCP clients like Claude Desktop.
The easiest way to use the stdio-based implementation is through our published package:
# Using npx (recommended for most users)
npx @aimcp/tools
# Using uvx (faster startup)
uvx @aimcp/tools
MCP Hub also provides an HTTP-based implementation that allows AI assistants and other tools to connect to the MCP server over HTTP. This is implemented in the MCP Hub s API at /api/open/v1/streamable
.
The HTTP endpoint is available at:
https://mcp.aimcp.info/api/open/v1/streamable
The MCP API requires authentication with a valid API key. This key must be provided via:
MCP_HUB_API_KEY
.Authorization
header as a Bearer token.Authorization: Bearer YOUR_API_KEY
To use MCP Hub with Claude Desktop:
%APPDATA%claudeconfig.json
~/Library/Application Support/claude/config.json
or ~/.config/claude/config.json
Linux: ~/.config/claude/config.json
Add the following configuration:
{
"mcpServers": {
"mcp-hub": {
"command": "npx",
"args": ["@aimcp/tools"],
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
}
}
For command-line based tools like Cline:
servers.json
in your project directory:{
"servers": [
{
"name": "mcp-hub-tools",
"command": ["npx", "@aimcp/tools"],
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
]
}
cline --mcp-servers-config ./servers.json
Some newer MCP clients support direct HTTP connections. Configure them using:
{
"mcpServers": {
"mcp-hub-http": {
"url": "https://mcp.aimcp.info/api/open/v1/streamable",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
{
"mcpServers": {
"mcp-hub": {
"command": "npx",
"args": ["@aimcp/tools"],
"environment": {
"MCP_HUB_API_KEY": "YOUR_API_KEY"
}
}
}
}
You can also run the stdio-based server manually for testing (ensure MCP_HUB_API_KEY
is set in your environment):
export MCP_HUB_API_KEY="YOUR_API_KEY_HERE"
npx @aimcp/tools
This server interacts with the following MCP Hub API endpoint:
GET https://www.aimcp.info/api/open/v1/search
Authorization
header, using the MCP_HUB_API_KEY
.keywords
(string)MCP Hub provides an HTTP-based MCP server at /api/open/v1/streamable
that implements the Model Context Protocol. This allows AI assistants and tools to search for MCPs and retrieve MCP information directly.
GET /api/open/v1/streamable
Authorization: Bearer YOUR_API_KEY
Response:
{
"success": true,
"sessionId": "194830ab-eb0b-4d17-a574-af96705276c2",
"message": "Connection established. Use this sessionId for subsequent calls."
}
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
(compiles TypeScript to JavaScript in build/
)pnpm run watch
(automatically recompiles on changes)pnpm run inspector
(runs the server with the MCP Inspector tool)If you want to create your own stdio-based MCP server, follow these steps:
Set up your project:
mkdir my-mcp-server
cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk
Create your server implementation:
// index.ts
import { Server } from @modelcontextprotocol/sdk/server ;
import {
CallToolRequestSchema,
ListToolsRequestSchema,
McpError,
ErrorCode
} from @modelcontextprotocol/sdk/types ;
import { StdioTransport } from @modelcontextprotocol/sdk/transports/stdio ;
// Create an MCP server instance
const server = new Server(
{
name: "my-mcp-server",
version: "1.0.0"
},
{
capabilities: {
tools: {},
}
}
);
// Set up tool handlers
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [
{
name: my_tool ,
description: Description of my tool ,
inputSchema: {
type: object ,
properties: {
param1: {
type: string ,
description: Description of param1 ,
},
},
required: [ param1 ],
},
},
],
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => {
// Extract tool name and arguments
const toolName = request.params.name;
const args = request.params.arguments;
if (toolName === my_tool ) {
// Validate arguments
if (typeof args !== object || args === null || typeof args.param1 !== string ) {
throw new McpError(
ErrorCode.InvalidParams,
Invalid arguments. Requires "param1" (string).
);
}
try {
// Implement your tool logic here
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,
`Unknown tool: ${toolName}`
);
}
});
// Connect the server to stdin/stdout
const transport = new StdioTransport();
server.connect(transport).catch(console.error);
Compile and run your server:
npx tsc
node dist/index.js
Test your server with the MCP Inspector tool:
npx @modelcontextprotocol/inspector
pnpm run build
).build
directory contains the necessary JavaScript files.node build/index.js
or the command mcphub_tools
if the package is installed appropriately (e.g., globally or linked).MCP_HUB_API_KEY
environment variable.You can also publish your MCP server to npm so others can install and use it.
[
{
"description": "Search for MCPs on the MCP Hub",
"inputSchema": {
"properties": {
"keywords": {
"description": "Keywords to search for MCPs",
"type": "string"
}
},
"required": [
"keywords"
],
"type": "object"
},
"name": "search_mcp_hub"
}
]