
lightweight mcp server vibe coded with Cursor
概览
A generic MCP (Model Context Protocol) client tool designed to help developers and security professionals test MCP servers for vulnerabilities. This tool can connect to MCP servers, list available tools, and provide information about server configurations. - 🔌 Connect to MCP servers via configuration file - 📋 List all available tools from MCP servers - 🔧 Call and execute tools on MCP servers - 🔍 Get detailed server information - 🛡️ Security-focused design for vulnerability testing - 📊 JSON output support for automation - 🔄 Support for multiple transport types (stdio, SSE, HTTP/HTTPS) After installation, the mcp-client command will be available globally: Then use via npm scripts or run directly: Create an MCPserver.json file in your project root (or specify a custom path using the --config option). The configuration format follows the MCP standard: - : The command to run the server (e.g.
README
以下为原文 README 节选,完整内容请查看原文。
MCP Client Tester
A generic MCP (Model Context Protocol) client tool designed to help developers and security professionals test MCP servers for vulnerabilities. This tool can connect to MCP servers, list available tools, and provide information about server configurations.
Features
- 🔌 Connect to MCP servers via configuration file
- 📋 List all available tools from MCP servers
- 🔧 Call and execute tools on MCP servers
- 🔍 Get detailed server information
- 🛡️ Security-focused design for vulnerability testing
- 📊 JSON output support for automation
- 🔄 Support for multiple transport types (stdio, SSE, HTTP/HTTPS)
Installation
Install Globally (Recommended)
npm install -g mcp-client-tester
After installation, the mcp-client command will be available globally:
mcp-client list
mcp-client servers
mcp-client info
mcp-client call
Install Locally for Development
git clone
cd cursor-mcp-client
npm install
Then use via npm scripts or run directly:
# Via npm scripts
npm start -- list
# Or run directly
node src/cli.js list
Requirements
- Node.js >= 18.0.0
- npm >= 9.0.0
Configuration
Create an MCPserver.json file in your project root (or specify a custom path using the --config option). The configuration format follows the MCP standard:
{
"mcpServers": {
"example-server": {
"command": "npx",
"args": ["-y", "@example/mcp-server"],
"env": {
"API_KEY": "your-api-key"
}
},
"sse-server": {
"transport": "sse",
"url": "http://localhost:3000/sse"
},
"http-server": {
"transport": "http",
"url": "https://api.example.com/mcp",
"apiKey": "your-api-key-here"
},
"http-server-with-headers": {
"transport": "http",
"url": "https://api.example.com/mcp",
"http": {
"headers": {
"Authorization": "Bearer your-token-here",
"X-Custom-Header": "value"
}
}
},
"oauth-server": {
"transport": "http",
"url": "https://api.example.com/mcp",
"oauth": {
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"redirectUrl": "http://localhost:8080/callback",
"tokenEndpointAuthMethod": "client_secret_basic",
"grantTypes": ["authorization_code"],
"responseTypes": ["code"]
}
}
}
}
Configuration Options
- command: The command to run the server (e.g., “node”, “npx”, “python”)
- args: Array of arguments to pass to the command
- env: Environment variables to set for the server process
- transport: Transport type (“stdio” default, “sse” for Server-Sent Events, “http” or “https” for HTTP/HTTPS)
- url: URL for SSE or HTTP transports
- apiKey: API key for HTTP transport (will be added as
Authorization: Bearerheader)
安装
npx -y @example/mcp-server配置
{
"mcpServers": {
"example-server": {
"command": "npx",
"args": ["-y", "@example/mcp-server"],
"env": {
"API_KEY": "your-api-key"
}
},
"sse-server": {
"transport": "sse",
"url": "http://localhost:3000/sse"
},
"http-server": {
"transport": "http",
"url": "https://api.example.com/mcp",
"apiKey": "your-api-key-here"
},
"http-server-with-headers": {
"transport": "http",
"url": "https://api.example.com/mcp",
"http": {
"headers": {
"Authorization": "Bearer your-token-here",
"X-Custom-Header": "value"
}
}
},
"oauth-server": {
"transport": "http",
"url": "https://api.example.com/mcp",
"oauth": {
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"redirectUrl": "http://localhost:8080/callback",
"tokenEndpointAuthMethod": "client_secret_basic",
"grantTypes": ["authorization_code"],
"responseTypes": ["code"]
}
}
}
}