lc-mcp-server
v1.0.4
Published
低代码 MCP 服务器
Readme
MCP Web Search 服务器和客户端
这是一个使用 @modelcontextprotocol/sdk 实现的MCP服务器和客户端,提供网络搜索功能。
项目结构
src/mcp-server-web-search.ts: MCP服务器实现,提供webSearch工具src/mcp-client.ts: 完整的MCP客户端,用于测试服务器功能src/mcp-simple-client.ts: 简单的MCP客户端,可接受命令行参数.env: 环境变量配置文件
环境配置
在 .env 文件中配置以下环境变量:
# MCP服务器端口
MCP_SERVER_PORT=3000
# 是否使用模拟模式(不需要真实API密钥)
USE_MOCK_MODE=true
# 百度搜索API配置(当USE_MOCK_MODE=false时需要)
# BAIDU_API_KEY=your_baidu_api_key
# BAIDU_SECRET_KEY=your_baidu_secret_key
# BAIDU_SEARCH_API_ENDPOINT=https://aip.baidubce.com/rpc/2.0/searchbox/search安装依赖
pnpm install使用方法
1. 运行完整客户端测试
npm run start-client这将启动MCP服务器,然后使用两个预定义的搜索查询测试webSearch工具。
2. 运行简单客户端测试(可自定义搜索查询)
npm run start-simple-client [搜索查询]如果不提供搜索查询,默认搜索 "人工智能最新进展"。
3. 单独启动服务器
npm run start-mcp-server功能说明
服务器功能
- 提供名为
webSearch的工具,用于执行网络搜索 - 支持模拟模式(USE_MOCK_MODE=true),不需要真实的API密钥
- 当设置为真实模式时,会调用百度搜索API
客户端功能
- 自动启动MCP服务器并建立连接
- 调用webSearch工具执行搜索查询
- 格式化输出搜索结果
- 完成测试后自动关闭服务器
注意事项
- 使用模拟模式时,返回的是生成的模拟搜索结果
- 如需使用真实百度搜索API,请在.env文件中配置有效的API密钥并设置USE_MOCK_MODE=false
将命令配置为全局可用
项目支持将MCP服务器配置为全局命令,方便在任何位置运行。详细的配置步骤请参考 INSTALL_GLOBAL.md 文件。
配置为全局命令后,您可以直接使用以下命令启动服务器:
mcp-web-search: 通过 cli.js 启动的服务器mcp-server: 直接启动 mcp-server-web-search.js 服务器
npm 发布
要将此项目发布到 npm 仓库,请遵循以下步骤:
准备 npm 账户
- 如果您还没有 npm 账户,请先在 npm 官网 注册。
- 在命令行中运行
npm login登录您的账户。
更新
package.json- 确保
package.json中的以下字段已正确配置:name: 包名(必须唯一)version: 遵循语义化版本控制 (semver),例如1.0.0description: 清晰的包描述main: 主入口文件,例如index.js(如果适用)bin: 命令行工具配置,例如:"bin": { "lc-mcp-server": "./src/lowcode-mcp-server.js" }keywords: 相关关键词,有助于用户搜索repository: 代码仓库信息license: 许可证类型,例如MIT
- 确保
测试本地安装 在发布之前,建议在本地测试包的安装和功能:
npm install -g .安装后,测试所有命令(如
lc-mcp-server)是否正常工作。发布到 npm 当您准备好发布时,运行以下命令:
npm publish如果您的包是私有的,或者您想限制访问,可以使用:
npm publish --access=restricted更新版本(后续更新时) 每次发布新版本时,您都需要更新
package.json中的version字段。可以使用npm version命令来自动化此过程:npm version patch # 增加补丁版本号,例如 1.0.0 -> 1.0.1 # npm version minor # 增加次版本号,例如 1.0.0 -> 1.1.0 # npm version major # 增加主版本号,例如 1.0.0 -> 2.0.0 npm publish
最佳实践建议
.npmignore文件: 创建一个.npmignore文件来排除不需要发布到 npm 的文件和目录(例如node_modules、测试文件、文档等),这有助于减小包的体积。prepublishOnly脚本: 考虑在package.json中添加prepublishOnly脚本,用于在发布前运行测试或构建步骤,确保发布的代码是高质量的。npm pack: 在发布前运行npm pack命令,它会创建一个.tgz文件,您可以检查这个文件来确认最终发布包中包含了哪些内容。
