MCP-SERVER

MCP-SERVER

A TypeScript + Express skeleton for MCP services, currently only providing a health check endpoint, with planned MySQL metadata and Alibaba Cloud log MCP services.

Category
访问服务器

README

MCP-SERVER

这是一个 TypeScript + Express 项目骨架,用来承载后续的 MCP 服务。

当前只实现健康检查,不实现具体 MCP 功能。

服务规划

  • MySQL 元数据 MCP 服务:后续用于告诉大模型某个 MySQL 实例有哪些表、表结构是什么、字段含义是什么,以及是否需要补充索引等建议。
  • 阿里云日志 MCP 服务:后续用于封装阿里云日志相关能力。

本地启动

npm install
npm run dev

默认端口是 3000,可以通过 .env 修改:

cp .env.example .env

健康检查

curl http://localhost:3000/health

预期返回:

{
  "status": "ok",
  "service": "mcp-server"
}

阿里云日志调试接口

当前先接入阿里云日志服务的 ListProject API,不接 MCP。

先复制本地环境变量文件:

cp .env.example .env.local

然后填写:

ALIYUN_LOG_ACCESS_KEY_ID=
ALIYUN_LOG_ACCESS_KEY_SECRET=
ALIYUN_LOG_REGION=cn-hangzhou
ALIYUN_LOG_DEFAULT_PROJECT_NAME=

.env.example 是提交到 Git 的模板,不放真实密钥。.env.local 是本机真实配置,已经被 .gitignore 忽略,不会上传到 GitHub。

启动服务:

npm run dev

查询当前账号在指定区域下能访问的 Project:

curl "http://localhost:3000/aliyun-log/projects"

如果请求里不传 projectName,接口会默认使用 ALIYUN_LOG_DEFAULT_PROJECT_NAME。例如你配置了 k8s-dev,上面的请求等价于按 k8s-dev 模糊过滤。

按 Project 名称模糊过滤:

curl "http://localhost:3000/aliyun-log/projects?projectName=k8s"

常用命令

npm run typecheck
npm test
npm run build
npm start

代码结构

  • src/server.ts:进程入口,负责监听端口。
  • src/app.ts:Express 应用组装入口。
  • src/config/env.ts:环境变量读取和校验。
  • src/routes/health.ts:健康检查路由。
  • src/mcp-services/mysql-metadata:MySQL 元数据 MCP 服务预留目录。
  • src/mcp-services/aliyun-log:阿里云日志 API 接入模块,当前先实现 ListProject。

Review TS 代码的建议流程

你对 TypeScript 还不熟,所以每次看 AI 生成的 TS 代码,建议按下面顺序 review:

  1. 先看 package.json:确认新增依赖是不是必要,脚本命令是否清楚。
  2. 再看入口文件:本项目先看 src/server.ts,确认服务从哪里启动、监听哪个端口。
  3. 再看应用组装:看 src/app.ts,确认中间件、路由注册、返回结构是否符合预期。
  4. 再看配置读取:看 src/config/env.ts,确认环境变量有没有默认值、有没有基本校验。
  5. 再看具体路由:看 src/routes/health.ts,确认接口路径、状态码、返回 JSON。
  6. 最后看测试:看 tests/health.test.ts,确认测试覆盖了健康检查返回体;HTTP 路径可以启动服务后用 curl http://localhost:3000/health 手动确认。
  7. 跑一遍命令:npm run typecheck、npm test、npm run build。

如果你不确定某段 TS,可以重点问三个问题:

  • 这个文件对外暴露了什么?
  • 这个函数接收什么输入,返回什么输出?
  • 这里失败时会发生什么?

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选