模型上下文协议服务器

一个高级的模型上下文协议(MCP)服务器,旨在为代理AI系统提供跨平台功能的统一访问接口。

  • by irissalu-maker
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 irissalu-maker/my-mcp-server

使用说明

我的mcp服务器


一种先进的模型上下文协议(MCP)服务器,旨在简化代理AI系统的跨功能平台功能。该服务器支持跨多代理平台的无缝集成,包括Notion、Claude、OpenAI、Vercel和其他人工智能客户端,提供对各种工具和资源的统一访问。

🎯 概述

我的mcp服务器 是一个灵活的MCP服务器,充当代理AI应用程序的中心枢纽。它抽象了管理多平台集成的复杂性,并为AI代理提供了一个统一的接口,以访问从数据检索和处理到任务执行和工作流编排的跨功能功能。

关键用例

  • 多代理编排:跨不同平台协调多个AI代理
  • 跨平台集成:统一Notion、Claude、OpenAI、Vercel等公司的功能
  • 工作流自动化:使用代理AI简化复杂的业务流程
  • 数据聚合:集中来自不同来源的数据访问
  • 工具管理:为工具发现和执行提供标准化接口

✨ 特性

  • 协议遵从:完整模型上下文协议(MCP)实现
  • 多平台支持:与主要人工智能平台和服务的原生集成
  • 可扩展架构:基于插件的系统,便于功能扩展
  • 资源管理:有效处理资源和背景
  • 错误处理:强大的错误处理和恢复机制
  • 记录和监控:用于调试和监控的全面日志记录
  • 类型安全:完全支持TypeScript和类型定义

📋 需求

  • Node.js 18.x或更高版本
  • npm或yarn包管理器
  • 对MCP协议的基本理解
  • 平台证书(用于集成服务)

🚀 安装

1.克隆存储库

git clone https://github.com/irissalu-maker/my-mcp-server.git
cd my-mcp-server

2.安装依赖项

npm install
# or
yarn install

3.环境配置

创建一个 .env 在根目录中创建文件并添加您的平台凭据:

# Claude Configuration
CLAUDE_API_KEY=your_claude_api_key

# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key

# Notion Configuration
NOTION_TOKEN=your_notion_token
NOTION_DATABASE_IDS=db_id_1,db_id_2

# Vercel Configuration
VERCEL_TOKEN=your_vercel_token
VERCEL_TEAM_ID=your_team_id

# Server Configuration
MCP_SERVER_PORT=3000
MCP_SERVER_HOST=localhost
LOG_LEVEL=info

4.建设项目

npm run build
# or
yarn build

5.启动服务器

npm start
# or
yarn start

服务器将于启动 http://localhost:3000 默认情况下。

💡 用法

基础示例

import { MCPServer } from './server';

const server = new MCPServer({
  name: 'my-mcp-server',
  version: '1.0.0',
  capabilities: ['notion', 'openai', 'vercel']
});

// Register resources
server.registerResource('notion_documents', {
  fetch: async () => {
    // Implementation to fetch Notion documents
  }
});

// Start the server
server.start().then(() => {
  console.log('MCP Server is running');
});

来自Claude的连接

{
  "mcpServers": {
    "my-mcp-server": {
      "command": "node",
      "args": ["/path/to/my-mcp-server/dist/index.js"],
      "env": {
        "CLAUDE_API_KEY": "your_api_key"
      }
    }
  }
}

可用资源

概念

  • 通知_数据库:列出所有连接的Notion数据库
  • 通知_页面:来自Notion的查询页面
  • 通知_创建_页面:在Notion中创建新页面

开放人工智能

  • openai_models:列出可用型号
  • openai完成:生成文本补全
  • openai_嵌入:生成嵌入

维塞尔

  • vercel项目:列出所有Vercel项目
  • vercel部署:获取部署历史记录
  • vercel_logs:访问部署日志

🏗️ 建筑

┌─────────────────────────────────────────┐
│     AI Client (Claude, OpenAI, etc)     │
└─────────────────┬───────────────────────┘
                  │ MCP Protocol
┌─────────────────▼───────────────────────┐
│          MCP Server Core                │
│  (Request Routing & Protocol Handling)  │
└─────────────────┬───────────────────────┘
                  │
        ┌─────────┼─────────┐
        │         │         │
┌───────▼──┐ ┌───▼────┐ ┌──▼───────┐
│  Notion  │ │ OpenAI │ │  Vercel  │
│ Adapter  │ │Adapter │ │ Adapter  │
└──────────┘ └────────┘ └──────────┘
        │         │         │
┌───────▼─────────▼─────────▼──────┐
│   External APIs & Services       │
└────────────────────────────────────┘

🔧 发展

项目结构

my-mcp-server/
├── src/
│   ├── server.ts          # Main MCP server
│   ├── adapters/          # Platform adapters
│   │   ├── notion.ts
│   │   ├── openai.ts
│   │   └── vercel.ts
│   ├── resources/         # Resource definitions
│   ├── tools/             # Tool implementations
│   └── utils/             # Utility functions
├── tests/                 # Test files
├── dist/                  # Compiled JavaScript
├── .env.example           # Environment template
├── package.json
└── README.md

运行测试

npm run test
# or with coverage
npm run test:coverage

装订和格式化

npm run lint
npm run format

📚 API 文档

资源发现

curl http://localhost:3000/resources

工具执行

curl -X POST http://localhost:3000/tools/execute \
  -H "Content-Type: application/json" \ 
  -d '{\n    "toolName": "openai_completions",\n    "params": {\n      "prompt": "Hello, world!",\n      "maxTokens": 100\n    }\n  }'

🤝 贡献

我们欢迎捐款!为该项目做出贡献:

  1. 分叉存储库
git clone https://github.com/yourusername/my-mcp-server.git
  1. 创建要素分支
git checkout -b feature/your-feature-name
  1. 提交您的更改
git commit -m "Add your feature description"
  1. 推送到您的分行
git push origin feature/your-feature-name
  1. 打开拉取请求
    • 明确描述您的更改
    • 参考任何相关问题
    • 确保所有测试通过

开发指南

  • 在启用严格模式的情况下编写TypeScript
  • 为新功能添加测试
  • 相应地更新文档
  • 遵循现有代码样式
  • 使用有意义的提交消息

🐛 故障排除

常见问题

问题:服务器无法启动

  • 解决方案:检查是否在您的 .env 文件

问题:与外部服务的连接超时

  • 解决方案:验证API凭据是否正确,并且可以从您的网络访问服务

问题:缺少资源

  • 解决方案:确保服务的适配器已正确初始化

如需更多帮助,请查看 问题 页面。

📖 附加资源

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

👤 作者

irissalu制造商 - GitHub简介

🙏 致谢

  • 感谢Anthropic提供模型上下文协议规范
  • 社区贡献和反馈
  • API文档和支持的所有平台合作伙伴

最后更新: 2026-04-01 02:19:49

如有疑问或需要支持,请在 GitHub问题 页面。