模型上下文协议服务器

生产就绪的模型上下文协议服务器,提供动态工具管理、高级日志记录和健壮的错误处理功能,适用于AI模型集成和工具链开发。

  • by phineup
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Phine-Up/phineup-open-mcp-server

使用说明

Phineup开放式MCP服务器

生产就绪的MCP(模型上下文协议)服务器,具有先进的工具功能、全面的日志记录和强大的错误处理能力。

🚀 特性

  • MCP协议支持:全面实施模型上下文协议
  • 工具管理:动态工具注册和执行
  • 高级日志记录:基于Winston的日志记录,带有文件和控制台输出
  • 错误处理:全面的错误处理和优雅的关机
  • 类型安全:完全支持TypeScript,具有严格的类型检查
  • 生产就绪:环境配置、过程管理和监控

📋 先决条件

  • Node.js 18.0.0或更高版本
  • pnpm包管理器

🛠️ 安装

  1. 克隆存储库:
git clone <repository-url>
cd phineup-open-mcp-server
  1. 安装依赖项:
pnpm install
  1. 创建环境文件:
cp .env.example .env
# Edit .env with your configuration

🏃‍♂️ 用法

发展模式

pnpm dev

生产模式

pnpm build
pnpm start

可用脚本

  • pnpm dev -使用热重新加载启动开发服务器
  • pnpm build -构建生产捆绑包
  • pnpm start -启动生产服务器
  • pnpm lint -运行ESLint
  • pnpm lint:fix -修复ESLint问题

🛠️ 内置工具

1.回声工具

  • 名字: echo
  • 描述:回显输入文本
  • 参数: { text: string }

2.计算器工具

  • 名字: calculate
  • 描述:执行基本的数学运算
  • 参数: { operation: 'add'|'subtract'|'multiply'|'divide', a: number, b: number }

3.系统信息工具

  • 名字: system_info
  • 描述:返回系统信息
  • 参数: {}

🔧 添加自定义工具

import { z } from 'zod';

// Register a new tool
mcpServer.registerTool(
  'custom_tool',
  'Description of your tool',
  z.object({
    // Define your input schema
    param1: z.string().describe('Parameter description'),
    param2: z.number().describe('Another parameter'),
  }),
  async (args) => {
    // Your tool logic here
    return { result: 'success' };
  }
);

📁 项目结构

phineup-open-mcp-server/
├── src/
│   └── index.ts          # Main MCP server implementation
├── dist/                 # Compiled JavaScript output
├── logs/                 # Log files
├── package.json          # Dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file

🔍 日志记录

服务器使用Winston进行全面的日志记录:

  • 控制台:彩色、格式化的开发日志
  • 文件日志:
    • logs/combined.log -所有日志级别
    • logs/error.log -仅错误级别

日志级别

  • error -错误消息
  • warn -警告信息
  • info -信息性消息
  • debug -调试信息

🚨 错误处理

  • 全面的错误捕获和记录
  • SIGINT/SIGTERM上的优雅关机
  • 针对不同错误场景的进程退出代码
  • 工具执行错误隔离

🔒 安全功能

  • 使用Zod模式进行输入验证
  • 错误消息清理
  • 速率限制支持(可配置)
  • CORS配置选项

📊 监控

  • 流程正常运行时间跟踪
  • 内存使用监控
  • 工具执行统计
  • 健康检查端点

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

📄 许可证

ISC许可证

🆘 支持

有关问题和疑问,请在存储库中打开问题。