Phineup开放式MCP服务器
生产就绪的MCP(模型上下文协议)服务器,具有先进的工具功能、全面的日志记录和强大的错误处理能力。
🚀 特性
- MCP协议支持:全面实施模型上下文协议
- 工具管理:动态工具注册和执行
- 高级日志记录:基于Winston的日志记录,带有文件和控制台输出
- 错误处理:全面的错误处理和优雅的关机
- 类型安全:完全支持TypeScript,具有严格的类型检查
- 生产就绪:环境配置、过程管理和监控
📋 先决条件
- Node.js 18.0.0或更高版本
- pnpm包管理器
🛠️ 安装
- 克隆存储库:
git clone
cd phineup-open-mcp-server- 安装依赖项:
pnpm install- 创建环境文件:
cp .env.example .env
# Edit .env with your configuration🏃♂️ 用法
发展模式
pnpm dev生产模式
pnpm build
pnpm start可用脚本
pnpm dev-使用热重新加载启动开发服务器pnpm build-构建生产捆绑包pnpm start-启动生产服务器pnpm lint-运行ESLintpnpm 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配置选项
📊 监控
- 流程正常运行时间跟踪
- 内存使用监控
- 工具执行统计
- 健康检查端点
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
ISC许可证
🆘 支持
有关问题和疑问,请在存储库中打开问题。
