modelscope·@mrgoonie/searchapi-mcp-server
通过SearchAPI.site将AI助手连接到外部数据源(如Google、Bing等),并通过模型上下文协议(MCP)实现对网络信息的安全和上下文访问。
该项目提供了一个模型上下文协议 (MCP) 服务器,通过 SearchAPI.site 将 AI 助手连接到外部数据源(如 Google、Bing 等)。
<a href="https://glama.ai/mcp/servers/@mrgoonie/searchapi-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@mrgoonie/searchapi-mcp-server/badge" alt="SearchAPI Server MCP 服务器" /> </a>Authorization 头部使用 Bearer <token>)bash
npm run dev:cli -- search-google --query "your search query" --api-key "your-api-key"
npm run dev:cli -- search-google-images --query "your search query" --api-key "your-api-key"
npm run dev:cli -- search-youtube --query "your search query" --api-key "your-api-key" --max-results 5
对于本地配置使用 stdio 传输: json { "mcpServers": { "searchapi": { "command": "node", "args": ["/path/to/searchapi-mcp-server/dist/index.js"], "transportType": "stdio" } } }
对于远程 HTTP 配置: json { "mcpServers": { "searchapi": { "type": "http", "url": "http://mcp.searchapi.site/mcp" } } }
HTTP 传输的环境变量:
您可以使用以下环境变量来配置 HTTP 服务器:
MCP_HTTP_HOST: 绑定的主机 (默认: 127.0.0.1)MCP_HTTP_PORT: 监听的端口 (默认: 8080)MCP_HTTP_PATH: 端点路径 (默认: /mcp)模型上下文协议 (MCP) 是一个开放标准,允许 AI 系统安全且有上下文地连接到外部工具和数据源。
该样板实现了 MCP 规范,并具有清晰的分层架构,可以扩展以构建针对任何 API 或数据源的自定义 MCP 服务器。
bash
git clone https://github.com/mrgoonie/searchapi-mcp-server.git cd searchapi-mcp-server
npm install
使用 stdio 传输(默认)在开发模式下启动服务器:
bash npm run dev:server
或者使用可流式 HTTP 传输:
bash npm run dev:server:http
这将启动 MCP 服务器,并启用热重载和 MCP 检查器,地址为 http://localhost:5173。
⚙️ 代理服务器监听端口 6277 🔍 MCP 检查器正在运行于 http://127.0.0.1:6274
当使用 HTTP 传输时,默认情况下服务器将在 http://127.0.0.1:8080/mcp 上可用。
从命令行运行示例 IP 查找工具:
bash
npm run dev:cli -- search-google --query "your search query" --api-key "your-api-key"
npm run dev:cli -- search-google --query "your search query" --api-key "your-api-key" --limit 10 --offset 0 --sort "date:d" --from_date "2023-01-01" --to_date "2023-12-31"
此样板遵循一种清晰的分层架构模式,该模式分离了关注点并促进了可维护性。
src/ ├── cli/ # 命令行接口 ├── controllers/ # 业务逻辑 ├── resources/ # MCP 资源:向 LLMs 暴露来自服务器的数据和内容 ├── services/ # 外部 API 交互 ├── tools/ # MCP 工具定义 ├── types/ # 类型定义 ├── utils/ # 共享实用程序 └── index.ts # 入口点
src/cli/*.cli.ts)<feature>.cli.ts<feature>.cli.test.tssrc/tools/*.tool.ts)<feature>.tool.ts,类型文件为 <feature>.types.tssrc/controllers/*.controller.ts)<feature>.controller.tsControllerResponse 对象src/services/*.service.ts)<feature>.service.tssrc/utils/*.util.ts)logger.util.ts:结构化日志记录error.util.ts:错误处理和标准化formatter.util.ts:Markdown 格式化辅助函数bash
npm run dev:server
npm run dev:cli -- [command] [args]
npm run build
npm run start:server
npm run start:cli -- [command] [args]
bash
npm test
npm test -- src/path/to/test.ts
npm run test:coverage
evals 包加载一个 mcp 客户端,然后运行 index.ts 文件,因此在测试之间不需要重建。您可以通过在 npx 命令前加上环境变量来加载它们。完整的文档可以在这里找到这里。
bash OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/searchapi.tool.ts## 代码质量
bash
npm run lint
npm run format
npm run typecheck
按照以下步骤向服务器添加自己的工具:
在 src/services/ 中创建一个新的服务以与外部 API 交互:
typescript // src/services/example.service.ts import { Logger } from '../utils/logger.util.js';
const logger = Logger.forContext('services/example.service.ts');
export async function getData(param: string): Promise<any> { logger.debug('获取数据', { param }); // 在此处编写 API 交互代码 return { result: '示例数据' }; }
在 src/controllers/ 中添加一个控制器来处理业务逻辑:
typescript // src/controllers/example.controller.ts import { Logger } from '../utils/log…
一个为大型语言模型(LLM)设计的、高可用的12306余票查询工具服务,现已搭载智能会话管理引擎。 12306-MCP-Server 将复杂的12306余票查询接口封装为符合 Model Context Protocol (MCP) 规范的工具集,允许AI Agent通过自然语言无缝查询实时火车票、中转换乘和经停站信息。 从 v1.0.0 版本开始,项目引入了全新的智能会话管理系统,通过会话池、动态User-Agent轮换和自动错误恢复机制,将服务的稳定性与反屏蔽能力提升至全新高度。
一个MCP服务器,它在本地git仓库上提供语义搜索功能,使用户能够克隆仓库、处理分支并通过矢量化代码块搜索代码。
一种模型上下文协议(MCP)服务器,可以帮助大型语言模型以最少的设置来索引、搜索和分析代码库。
通过向量嵌入技术,为项目提供记忆库和RAG上下文支持,以增强代码理解和管理,并与RooCode和Cline集成。
VariFlight航班信息服务的模型上下文协议(MCP)服务器实现方案。该服务器提供了多种工具,支持查询航班信息、天气数据及航班舒适度指标。
基于GTFS数据的Caltrain火车时刻查询服务,提供实时火车时刻表、站点查询和时间特定查询功能。