Skip to main content
Glama

MCP Server Demo

by CH-122
README.md4.98 kB
# MCP 服务器演示项目 一个基于 Model Context Protocol (MCP) 的多功能服务器演示项目,展示了如何构建和使用不同类型的 MCP 服务器。 ## 🚀 项目概述 本项目是一个 monorepo,包含了三个不同功能的 MCP 服务器示例: - **Database Search** - 智能数据库搜索服务,支持自然语言查询 - **GitHub Search** - GitHub 仓库和用户信息搜索服务 - **Time** - 时间获取和时区转换服务 所有服务器都基于 Model Context Protocol (MCP) 标准构建,可以与支持 MCP 的客户端(如 Claude Desktop)无缝集成。 ## 📦 项目结构 ``` hh-mcp-server/ ├── packages/ │ ├── database-search/ # 数据库搜索 MCP 服务器 │ ├── github-search/ # GitHub 搜索 MCP 服务器 │ └── time/ # 时间服务 MCP 服务器 ├── package.json # 根项目配置 ├── pnpm-workspace.yaml # pnpm workspace 配置 └── README.md # 项目说明文档 ``` ## 🛠️ 技术栈 - **运行时**: Node.js + TypeScript - **包管理**: pnpm workspace - **框架**: Model Context Protocol SDK - **数据库**: MySQL, PostgreSQL, SQLite (database-search) - **API**: GitHub API (github-search) - **工具库**: dayjs, zod, prettier ## 🚀 快速开始 ### 环境要求 - Node.js >= 18 - pnpm >= 8 ### 安装依赖 ```bash # 克隆项目 git clone <repository-url> cd hh-mcp-server # 安装依赖 pnpm install ``` ### 构建所有包 ```bash # 构建所有 MCP 服务器 pnpm run build ``` ### 代码格式化 ```bash # 格式化代码 pnpm run format # 检查代码格式 pnpm run format:check ``` ## 📚 MCP 服务器详解 ### 1. Database Search MCP Server **功能**: 支持自然语言查询多种数据库,提供智能 SQL 转换 **核心特性**: - 🗄️ 多数据库支持(MySQL、PostgreSQL、SQLite) - 🧠 自然语言转 SQL(基于 OpenAI GPT) - 🔒 安全 SQL 检查和过滤 - ⚙️ 灵活的环境配置管理 - 🔄 连接池和资源管理 **工具列表**: - `query_database` - 自然语言数据库查询 - `list_databases` - 列出可用数据库 - `get_table_structure` - 获取表结构 - `execute_sql` - 直接执行 SQL [查看详细文档](./packages/database-search/README.md) ### 2. GitHub Search MCP Server **功能**: 搜索 GitHub 仓库、代码、问题和用户信息 **核心特性**: - 🔍 全面搜索(仓库、代码、问题、用户) - 📄 分页支持 - 🔑 GitHub API 集成 - 📊 结构化数据返回 **工具列表**: - `search_github` - 搜索 GitHub 内容 - `get_user_info` - 获取用户详细信息 **使用示例**: ```bash cd packages/github-search # 设置 GitHub Token export GITHUB_TOKEN=your_github_token # 构建并运行 pnpm run build node dist/index.js ``` **代码来源**: [代码来源](https://github.com/vaebe/mcp) ### 3. Time MCP Server **功能**: 获取当前时间和进行时区转换 **核心特性**: - 🕐 获取当前时间 - 🌍 时区转换 - 🔧 灵活的时区配置 - 📅 标准时间格式 **工具列表**: - `get_current_time` - 获取当前时间 - `convert_time` - 时区间时间转换 **使用示例**: ```bash cd packages/time # 构建并运行 pnpm run build node dist/index.js ``` **代码来源**: [代码来源](https://github.com/vaebe/mcp) ## 🔧 开发指南 ### 添加新的 MCP 服务器 1. 在 `packages/` 目录下创建新包 2. 配置 `package.json` 和 `tsconfig.json` 3. 实现 MCP 服务器逻辑 4. 添加到 workspace 配置 ### 项目脚本命令 ```bash # 构建所有包 pnpm run build # 格式化代码 pnpm run format # 检查代码格式 pnpm run format:check # 运行测试(待实现) pnpm run test ``` ### 开发最佳实践 - 使用 TypeScript 进行类型安全 - 遵循 MCP 标准和最佳实践 - 使用 zod 进行参数验证 - 实现适当的错误处理 - 添加详细的工具描述和参数说明 ## 🤝 与 MCP 客户端集成 ### Claude Desktop 配置示例 在 Claude Desktop 的配置文件中添加服务器: ```json { "mcpServers": { "database-search": { "command": "node", "args": ["path/to/packages/database-search/dist/index.js"], "env": { "NODE_ENV": "production" } }, "github-search": { "command": "node", "args": ["path/to/packages/github-search/dist/index.js"], "env": { "GITHUB_TOKEN": "your_token" } }, "time": { "command": "node", "args": ["path/to/packages/time/dist/index.js"] } } } ``` ## 📄 许可证 ISC License ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📞 支持 如果您在使用过程中遇到问题,请: 1. 查看各包的详细文档 2. 检查环境配置 3. 提交 Issue 描述问题 --- > **注意**: 这些是 MCP (Model Context Protocol) 服务器,需要与支持 MCP 的客户端(如 Claude Desktop)配合使用。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CH-122/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server