m

mcp-server

@CH-122/mcp-server
0 Stars 165 次浏览 CH-122 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "database-search": {
      "args": [
        "path/to/packages/database-search/dist/index.js"
      ],
      "command": "node",
      "env": {
        "NODE_ENV": "production"
      }
    },
    "github-search": {
      "args": [
        "path/to/packages/github-search/dist/index.js"
      ],
      "command": "node",
      "env": {
        "GITHUB_TOKEN": "your_token"
      }
    },
    "time": {
      "args": [
        "path/to/packages/time/dist/index.js"
      ],
      "command": "node"
    }
  }
}

服务介绍

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

安装依赖

# 克隆项目
git clone <repository-url>
cd hh-mcp-server

# 安装依赖
pnpm install

构建所有包

# 构建所有 MCP 服务器
pnpm run build

代码格式化

# 格式化代码
pnpm run format

# 检查代码格式
pnpm run format:check

MCP 服务器详解

1. Database Search MCP Server

功能: 支持自然语言查询多种数据库提供智能 SQL 转换

核心特性:

  • 多数据库支持MySQLPostgreSQLSQLite
  • 自然语言转 SQL基于 OpenAI GPT
  • 安全 SQL 检查和过滤
  • 灵活的环境配置管理
  • 连接池和资源管理

工具列表:

  • query_database - 自然语言数据库查询
  • list_databases - 列出可用数据库
  • get_table_structure - 获取表结构
  • execute_sql - 直接执行 SQL

查看详细文档

2. GitHub Search MCP Server

功能: 搜索 GitHub 仓库代码问题和用户信息

核心特性:

  • 全面搜索仓库代码问题用户
  • 分页支持
  • GitHub API 集成
  • 结构化数据返回

工具列表:

  • search_github - 搜索 GitHub 内容
  • get_user_info - 获取用户详细信息

使用示例:

cd packages/github-search

# 设置 GitHub Token
export GITHUB_TOKEN=your_github_token

# 构建并运行
pnpm run build
node dist/index.js

代码来源:

代码来源

3. Time MCP Server

功能: 获取当前时间和进行时区转换

核心特性:

  • 获取当前时间
  • 时区转换
  • 灵活的时区配置
  • 标准时间格式

工具列表:

  • get_current_time - 获取当前时间
  • convert_time - 时区间时间转换

使用示例:

cd packages/time

# 构建并运行
pnpm run build
node dist/index.js

代码来源:

代码来源

开发指南

添加新的 MCP 服务器

  1. packages/ 目录下创建新包
  2. 配置 package.jsontsconfig.json
  3. 实现 MCP 服务器逻辑
  4. 添加到 workspace 配置

项目脚本命令

# 构建所有包
pnpm run build

# 格式化代码
pnpm run format

# 检查代码格式
pnpm run format:check

# 运行测试待实现
pnpm run test

开发最佳实践

  • 使用 TypeScript 进行类型安全
  • 遵循 MCP 标准和最佳实践
  • 使用 zod 进行参数验证
  • 实现适当的错误处理
  • 添加详细的工具描述和参数说明

与 MCP 客户端集成

Claude Desktop 配置示例

在 Claude Desktop 的配置文件中添加服务器

{
  "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 服务