智能MCP服务器
一种复杂的、上下文感知的模型上下文协议(MCP)服务器,符合代理到代理(A2A)协议。具有智能工作流执行、安全令牌管理和全面的AI模型集成功能,包括谷歌的Gemini模型。
 ](https://nodejs.org/)  
🌟 主要特点
🔐 安全令牌管理
- 符合MCP/A2A标准的代币:自动生成和管理符合协议的API令牌
- AES-256-CBC加密:采用行业标准加密的安全令牌存储
- 自动刷新:智能令牌验证和刷新机制
- CLI管理:通过CLI工具轻松生成、验证和监控令牌
🤖 多模型AI集成
- Gemini模型:与谷歌的Gemini 2.5 Pro、Gemini Pro和嵌入式模型完全集成
- OpenAI支持:GPT-4、GPT-3.5 Turbo和嵌入式型号
- 人类整合:克劳德3作品集、十四行诗和俳句模型
- 模型不可知体系结构:所有人工智能提供商的统一界面
🔄 高级工作流系统
- 动态工作流加载:自动从JSON文件加载工作流定义
- 智能执行:使用AI函数调用以进行最佳工作流选择
- 进度监控:使用指标和日志记录进行实时执行跟踪
- 错误恢复:复杂的错误处理和重试机制
🌐 协议遵从
- MCP v1.0:完整的模型上下文协议实现
- A2A v1.0:用于多代理协作的代理到代理协议
- 工具发现:自动工具注册和功能广告
- 安全通信:加密的代理间通信
🛠️ 综合工具集
- GitHub集成:存储库管理、分析和自动化
- 条纹集成:支付处理和订阅管理
- 系统健康监测:实时系统指标和警报
- 文档工具:自动化文档整合和管理
🚀 快速开始
先决条件
- Node.js v18.0.0或更高版本
- npm v7.0.0或更高版本
- Google Gemini API密钥 (用于AI功能)
安装
- 克隆存储库:
git clone https://github.com/reconsumeralization/smart-mcp-server.git
cd smart-mcp-server- 安装依赖项:
npm install- 生成符合MCP/A2A标准的令牌:
npm run token:generate- 启动服务器:
npm start服务器将在端口3000(可配置)上启动,并完全支持MCP和A2A协议。
🔑 许可证管理
CLI命令
# Generate a new MCP/A2A compliant token
npm run token:generate
# Refresh existing token
npm run token:refresh
# Validate current token compliance
npm run token:validate
# Show detailed token information
npm run token:info
# Export token metadata (no sensitive data)
npm run token:export
# Show help
npm run token:help令牌功能
- 🛡️ 安全:带安全密钥管理的AES-256-CBC加密
- ✅ 合规:完全符合MCP v1.0和A2A v1.0协议
- 🔄 自动刷新:自动令牌验证和刷新
- 📊 监控:详细的令牌状态和使用跟踪
🏗️ 建筑
smart-mcp-server/
├── src/
│ ├── archer/ # Arrow server for agentic framework
│ ├── lib/
│ │ ├── token-manager.js # Secure token management
│ │ ├── agents/ # AI agent implementations
│ │ └── ai-workflows/ # Workflow orchestration
│ ├── models/
│ │ └── drivers/ # AI model drivers (Gemini, OpenAI, Anthropic)
│ ├── tools/ # MCP-compliant tool implementations
│ ├── routes/ # API endpoints
│ └── middleware/ # Authentication, validation, etc.
├── examples/ # Workflow examples and demos
├── scripts/ # Management and utility scripts
├── docs/ # Comprehensive documentation
└── public/ # A2A agent discovery🔌 API终点
核心终点
GET /health-健康检查和系统状态POST /a2a/tasks-代理间任务执行GET /.well-known/agent.json-代理发现(A2A协议)
工作流管理
GET /api/workflows-列出所有可用工作流POST /api/workflows/:id/execute-执行特定工作流GET /api/workflows/:id/status-获取工作流执行状态
许可证管理
POST /api/tokens/refresh-刷新API令牌GET /api/tokens/info-获取令牌信息POST /api/tokens/validate-验证令牌合规性
工具集成
GET /api/tools-列出可用的MCP工具POST /api/tools/execute-使用参数执行工具
🤖 AI模型集成
Gemini集成
import { GeminiDriver } from './src/models/drivers/gemini-driver.js';
const gemini = new GeminiDriver();
await gemini.initialize(); // Automatic token management
// Text generation with MCP compliance
const result = await gemini.generate({
prompt: "Explain quantum computing",
temperature: 0.7,
maxTokens: 1024
});
// Streaming responses
for await (const chunk of gemini.stream({ prompt: "Write a story" })) {
console.log(chunk.text);
}
// Embeddings
const embedding = await gemini.embedding({
text: "Convert this to vector representation"
});多模型支持
import { ModelDriver } from './src/models/ModelDriver.js';
// Unified interface across all models
const models = {
gemini: new GeminiDriver(),
openai: new OpenAIDriver(),
anthropic: new AnthropicDriver()
};
// Automatic model selection based on task
const bestModel = await ModelDriver.selectOptimal({
task: "code_generation",
requirements: { speed: "fast", quality: "high" }
});🔄 工作流系统
定义工作流
在中创建工作流JSON文件 examples/ 目录:
{
"id": "data-analysis-workflow",
"name": "Data Analysis Pipeline",
"description": "Comprehensive data analysis with AI insights",
"version": "1.0",
"mcp_compliant": true,
"a2a_compliant": true,
"steps": [
{
"id": "data-extraction",
"type": "database-query",
"tool": "mcp_database_tool",
"parameters": {
"query": "SELECT * FROM analytics_data WHERE date >= '{{start_date}}'"
}
},
{
"id": "ai-analysis",
"type": "ai-processing",
"tool": "mcp_gemini_tool",
"parameters": {
"model": "gemini-2.5-pro",
"prompt": "Analyze this data and provide insights: {{data}}"
},
"depends_on": ["data-extraction"]
},
{
"id": "report-generation",
"type": "document-creation",
"tool": "mcp_documentation_tool",
"parameters": {
"template": "analysis-report",
"data": "{{ai-analysis.result}}"
},
"depends_on": ["ai-analysis"]
}
]
}执行工作流
# List available workflows
curl http://localhost:3000/api/workflows
# Execute a workflow
curl -X POST http://localhost:3000/api/workflows/data-analysis-workflow/execute \
-H "Content-Type: application/json" \
-d '{"start_date": "2024-01-01"}'
# Monitor execution
curl http://localhost:3000/api/workflows/execution-id-123/status🛠️ 可用工具
GitHub工具(mcp_github_tool)
// Repository analytics
const stats = await tools.mcp_github_search_repositories({
query: "machine learning",
sort: "stars",
limit: 10
});
// Create pull request
const pr = await tools.mcp_github_create_pull_request({
owner: "username",
repo: "repository",
title: "Feature: Add new functionality",
body: "Description of changes",
head: "feature-branch",
base: "main"
});系统健康工具(mcp_system_health_tool)
// Get system metrics
const health = await tools.mcp_system_health_check();
console.log(health); // { cpu: 45, memory: 67, status: "healthy" }
// Monitor performance
const metrics = await tools.mcp_system_performance_metrics({
duration: "1h",
interval: "5m"
});文档工具(mcp_documentation_tool)
// Consolidate documentation
const docs = await tools.mcp_consolidate_documentation({
source: "./docs",
output: "./consolidated-docs.md",
format: "markdown"
});🔍 上下文感知工具选择
系统根据上下文智能选择工具:
import { selectToolsForContext } from './src/context-aware-selector.js';
const context = {
message: "Help me optimize this database query",
history: ["SELECT * FROM users", "EXPLAIN ANALYZE"],
project: { type: "database", language: "SQL" }
};
const selectedTools = selectToolsForContext(context, availableTools);
// Returns: [database-tool, performance-tool, query-optimizer]🧪 测试
# Run all tests
npm test
# Test specific components
npm run test:integration
npm run test:tools
npm run test:workflows
# Test token management
npm run token:validate
npm run token:info📊 监控和分析
实时度量
- 系统健康:CPU、内存、磁盘使用情况
- API性能:响应时间、错误率
- 令牌使用情况:API调用,配额监视
- 工作流执行:成功率、绩效指标
日志记录
# View logs
tail -f logs/all.log
tail -f logs/error.log
# Workflow-specific logs
ls logs/workflow-test/🔧 配置
环境变量
# Core Configuration
PORT=3000
NODE_ENV=production
LOG_LEVEL=info
# AI Models (automatically managed by token system)
GEMINI_MODEL=gemini-2.5-pro
# External Integrations
GITHUB_TOKEN=your_github_token
STRIPE_SECRET_KEY=your_stripe_key
# Database
POSTGRES_URL=postgresql://user:pass@localhost:5432/db
REDIS_HOST=127.0.0.1
REDIS_PORT=6379代理配置
系统通过以下方式自动宣传其功能 public/agent.json:
{
"id": "smart-mcp-agent",
"name": "Smart MCP Agent",
"protocol_versions": {
"mcp": "1.0",
"a2a": "1.0"
},
"capabilities": [
"workflow_execution",
"token_management",
"model_interaction"
],
"supported_models": [
"gemini-2.5-pro",
"gpt-4",
"claude-3-opus"
]
}🚀 高级用法
定制工具开发
// Create a new MCP-compliant tool
export async function mcp_custom_tool(params) {
const { input, options = {} } = params;
try {
// Tool implementation
const result = await processInput(input, options);
return {
success: true,
result,
metadata: {
mcp_compliant: true,
execution_time: Date.now() - startTime
}
};
} catch (error) {
return {
success: false,
error: error.message,
metadata: { mcp_compliant: true }
};
}
}多智能体协调
// A2A protocol communication
const taskResult = await fetch('http://other-agent:3000/a2a/tasks', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
task_description: "Analyze financial data",
context: { timeframe: "Q4 2024" }
})
});📚 文档
提供全面的文档:
🔐 安全
- 🔒 令牌加密:所有敏感数据的AES-256-CBC加密
- 🛡️ 安全存储:文件权限和访问控制
- 🔄 自动旋转:自动令牌刷新和验证
- 📊 审计日志:全面的安全事件记录
- 🚫 没有硬编码的秘密:所有凭据都通过环境变量
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南.
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 通过测试进行更改
- 确保MCP/A2A合规
- 提交拉取请求
开发设置
# Install development dependencies
npm install
# Run in development mode
npm run dev
# Run tests with coverage
npm run test:coverage
# Lint and format code
npm run lint
npm run format📈 路线图
- \[ \] 增强型AI模型:与更多AI提供商集成
- \[ \] 高级工作流:可视化工作流构建器和编辑器
- \[ \] 实时协作:多用户工作流执行
- \[ \] 插件系统:第三方工具集成框架
- \[ \] 云部署:一键式云部署选项
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📞 支持
- 问题:
- 讨论:
- 电子邮件: 大卫·韦瑟斯彭
______________________________________________________________________
内置于❤️ 对于AI代理生态系统
*智能MCP服务器-通过安全、符合协议的基础设施实现智能代理协作。*
