cli.js•2.04 kB
#!/usr/bin/env node
// searchapi-mcp-nodejs/bin/cli.js
// 这个脚本是searchapi-mcp的命令行入口点
// 它会启动MCP服务器并处理命令行参数
const path = require('path');
// 显示帮助信息
function showHelp() {
console.log(`
searchapi-mcp - Model Context Protocol (MCP) server for searchapi.io API
Usage:
searchapi-mcp [options]
Options:
--help, -h 显示帮助信息
--version, -v 显示版本信息
--transport <type> 设置传输类型 (默认: stdio)
Environment Variables:
SEARCHAPI_API_KEY searchapi.io API密钥 (必需)
MCP_TRANSPORT 传输类型 (默认: stdio)
Examples:
# 使用stdio传输启动服务器
SEARCHAPI_API_KEY=your_api_key searchapi-mcp
# 在Claude Desktop中使用
# 在claude_desktop_config.json中添加以下配置:
{
"mcpServers": {
"searchapi": {
"command": "npx",
"args": [
"-y",
"searchapi-mcp"
],
"env": {
"SEARCHAPI_API_KEY": "your_api_key",
"MCP_TRANSPORT": "stdio"
}
}
}
}
`);
}
// 显示版本信息
function showVersion() {
const packageJson = require('../package.json');
console.log(`searchapi-mcp v${packageJson.version}`);
}
// 处理命令行参数
const args = process.argv.slice(2);
for (let i = 0; i < args.length; i++) {
const arg = args[i];
if (arg === '--help' || arg === '-h') {
showHelp();
process.exit(0);
}
if (arg === '--version' || arg === '-v') {
showVersion();
process.exit(0);
}
if (arg === '--transport' && i + 1 < args.length) {
process.env.MCP_TRANSPORT = args[i + 1];
i++;
}
}
// 检查API密钥
if (!process.env.SEARCHAPI_API_KEY) {
console.error('错误: 缺少SEARCHAPI_API_KEY环境变量');
console.error('请设置SEARCHAPI_API_KEY环境变量,例如:');
console.error(' SEARCHAPI_API_KEY=your_api_key searchapi-mcp');
process.exit(1);
}
// 启动服务器
require('../src/index.js');