📡 TAS模型上下文协议(MCP)服务器
     
](https://golang.org) ](https://www.docker.com)  
这 TAS MCP服务器 是一个高性能的云原生事件网关和MCP联合平台,实现了 模型上下文协议 支持RAG管道、事件驱动架构和跨分布式AI系统的工作流编排。它提供了与 4个联合MCP服务器 包括搜索、网络抓取、数据库访问和开发工具。
🌟 主要特点
- 🔗 MCP联合会:统一访问4+MCP服务器(搜索、网络抓取、数据库、git)
- 🚀 多协议支持:HTTP REST API和双向gRPC流
- 🔄 智能事件转发:基于规则的路由,带条件评估
- 🔍 以隐私为中心的搜索:DuckDuckGo集成零跟踪功能
- 🕷️ 网络爬取:将平台访问权限指定为5000多个抓取参与者
- 🗃️ 数据库访问:PostgreSQL MCP,安全第一设计
- 🛠️ 开发工具:Git存储库自动化和管理
- 🔌 集成就绪:原生支持Argo Events、Kafka、webhooks等
- 📚 MCP服务器注册表:1535+MCP服务器的综合目录
- 📊 可观测性:内置指标、健康检查和分布式跟踪支持
- 🔒 生产就绪:速率限制、断路器和重试逻辑
- ☁️ 云原生:Kubernetes原生,完全自动化部署
- 🎨 可扩展:自定义转发器和处理器的插件架构
🚀 快速开始
使用Docker
# Run with Docker
docker run -p 8082:8082 -p 50052:50052 -p 8083:8083 ghcr.io/tributary-ai-services/tas-mcp:latest
# Or build locally
make docker
make docker-run使用Docker Compose
# Start all services
make docker-compose
# View logs
docker-compose logs -f tas-mcp-server本地开发
# Install dependencies
make init
# Run locally
make run
# Run with hot reload
make dev📡 API使用
HTTP API
# Ingest a single event
curl -X POST http://localhost:8082/api/v1/events \
-H "Content-Type: application/json" \
-d '{
"event_id": "evt-123",
"event_type": "user.created",
"source": "auth-service",
"data": "{\"user_id\": \"usr-456\", \"email\": \"user@example.com\"}"
}'
# Batch event ingestion
curl -X POST http://localhost:8082/api/v1/events/batch \
-H "Content-Type: application/json" \
-d '[
{"event_id": "evt-1", "event_type": "order.created", "source": "order-service", "data": "{}"},
{"event_id": "evt-2", "event_type": "payment.processed", "source": "payment-service", "data": "{}"}
]'
# Health check
curl http://localhost:8083/healthgRPC API
// Example Go client
import (
mcpv1 "github.com/tributary-ai-services/tas-mcp/gen/mcp/v1"
"google.golang.org/grpc"
)
conn, _ := grpc.Dial("localhost:50052", grpc.WithInsecure())
client := mcpv1.NewMCPServiceClient(conn)
// Ingest event
resp, _ := client.IngestEvent(ctx, &mcpv1.IngestEventRequest{
EventId: "evt-123",
EventType: "user.action",
Source: "webapp",
Data: `{"action": "login"}`,
})
// Stream events
stream, _ := client.EventStream(ctx)🔧 配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
HTTP_PORT | 8082 | HTTP API服务器端口 |
GRPC_PORT | 50052 | gRPC服务器端口 |
HEALTH_CHECK_PORT | 8083 | 健康检查端点端口 |
LOG_LEVEL | info | 日志记录级别(调试、信息、警告、错误) |
FORWARDING_ENABLED | false | 启用事件转发 |
FORWARDING_WORKERS | 5 | 货运工人数量 |
MAX_EVENT_SIZE | 1048576 | 最大事件大小(字节)(1MB) |
配置文件
{
"HTTPPort": 8082,
"GRPCPort": 50052,
"LogLevel": "info",
"forwarding": {
"enabled": true,
"targets": [
{
"id": "argo-events",
"type": "webhook",
"endpoint": "http://argo-events-webhook:12000",
"rules": [
{
"conditions": [
{"field": "event_type", "operator": "contains", "value": "critical"}
]
}
]
}
]
}
}🏗️ 建筑
TAS MCP服务器遵循模块化、事件驱动的架构:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ HTTP API │ │ gRPC API │ │ Webhook │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└───────────────────┴────────────────────┘
│
┌──────▼──────┐
│ Ingestion │
│ Layer │
└──────┬──────┘
│
┌──────▼──────┐
│ Rules │
│ Engine │
└──────┬──────┘
│
┌───────────────────┴────────────────────┐
│ │
┌──────▼──────┐ ┌──────────────┐ ┌──────────▼────┐
│ Forwarder │ │ Transform │ │ Metrics │
│ (gRPC) │ │ Engine │ │ Collector │
└─────────────┘ └──────────────┘ └───────────────┘🚢 部署
Kubernetes
# Deploy to development
kubectl apply -k k8s/overlays/dev
# Deploy to production with auto-scaling
kubectl apply -k k8s/overlays/prod
# Check deployment status
kubectl get pods,svc,ingress -n tas-mcp-prodHelm Chart(即将推出)
helm repo add tas-mcp https://tributary-ai-services.github.io/helm-charts
helm install tas-mcp tas-mcp/tas-mcp-server📚 MCP服务器注册表
TAS MCP项目包括一个全面的 MCP服务器注册表 -跨不同类别和用例的模型上下文协议服务器的精选目录。
🗂️ 注册表类别
- 🤖 AI模型 -LLM集成和模型服务
- 📡 事件流 -实时事件处理和转发
- 🔄 工作流程编排 -复杂的工作流程和代理协调
- 💾 知识库 -矢量存储和搜索功能
- 🔧 数据处理 -ETL和数据转换服务
- 📊 监控 -可观察性和指标收集
- 💬 沟通 -聊天机器人和消息集成
- 🔍 搜索 -网络搜索和内容发现服务
- 🕷️ 网络爬取 -数据提取和自动化工具
- 🗃️ 数据库 -数据库集成和查询服务
- 🛠️ 开发工具 -Git、CI/CD和开发工具
🚀 使用注册表
# Browse the registry
cat registry/mcp-servers.json | jq '.servers[] | select(.category == "ai-models")'
# Find servers by capability
cat registry/mcp-servers.json | jq '.servers[] | select(.capabilities[] | contains("event-streaming"))'
# Get deployment information
cat registry/mcp-servers.json | jq '.servers[] | select(.name == "tas-mcp-server") | .deployment'
# Find privacy-focused search servers
cat registry/mcp-servers.json | jq '.servers[] | select(.category == "search" and .privacy.noTracking == true)'
# Find web scraping servers
cat registry/mcp-servers.json | jq '.servers[] | select(.category == "web-scraping")'
# Find database integration servers
cat registry/mcp-servers.json | jq '.servers[] | select(.category == "database")'📋 注册表功能
- JSON模式验证 -确保数据的一致性和结构
- 部署就绪 -Docker和Kubernetes部署配置
- 访问模型 -API访问模式的清晰文档
- 能力映射 -可搜索的功能标签
- 成本信息 -定价和资源要求
看 注册表/README.md 获取完整的注册表文档 注册表/ENDPOINT_INTEGRATION.md 集成指南。
🔌 集成
TAS MCP联合服务器
该项目包括几个完全集成的MCP服务器,可供部署:
🔍 DuckDuckGo MCP服务器
- 以隐私为中心的网络搜索 没有跟踪或数据收集
- 新闻搜索 具有时间过滤功能
- 图像搜索 配备高级滤镜(尺寸、颜色、类型)
- 内容提取 来自网页
- 部署:
deployments/docker-compose/duckduckgo-mcp/
🕷️ 指定MCP服务器
- 访问5000多名网络抓取演员 来自Apify平台
- 电子商务、社交媒体和新闻抓取
- 自定义刮擦配置 以及数据提取
- 数据集管理 出口能力
- 部署:
deployments/docker-compose/apify-mcp/
🗃️ PostgreSQL MCP服务器
- 只读数据库访问 安全第一设计
- 模式检查 表元数据
- 查询执行 性能分析
- 连接池 健康监测
- 部署:
deployments/postgres-mcp/
🛠️ Git MCP服务器
- 存储库交互 以及自动化
- 分行管理 并提交操作
- 状态和差异 运营
- 工作树管理
- 基于官方模型上下文协议Git服务器
全栈部署
# Deploy complete federation stack
cd deployments/docker-compose
docker-compose -f full-stack.yml up -d
# Check all services
docker-compose -f full-stack.yml ps
# View federation status
curl http://localhost:8080/api/v1/federation/servers | jq '.'看 示例/联合/ 查看Go中的完整集成示例。
Argo 事件
看 示例/触发器/ 获取Go、Python和Node.js中的完整集成示例。
卡夫卡
{
"type": "kafka",
"endpoint": "kafka-broker:9092",
"config": {
"topic": "mcp-events",
"batch_size": 100
}
}普罗米修斯指标
服务器在以下位置公开Prometheus指标 /api/v1/metrics:
mcp_events_total-已处理的事件总数mcp_events_forwarded_total-按目标转发的事件mcp_forwarding_errors_total-按目标转发错误mcp_event_processing_duration_seconds-事件处理延迟
🧪 测试
该项目涵盖了所有软件包的全面测试:
# Run all unit tests
make test-unit
# Run integration tests
make test-integration
# Run benchmark tests
make test-benchmark
# Generate coverage report
make test-coverage
# Run all tests (unit + integration + benchmarks)
make test
# Lint code
make lint
# Format code
make fmt测试覆盖率
- 配置包:77.6%的报表覆盖率
- 转发包裹:60.1%的报表覆盖率
- 集成测试:端到端事件转发场景
- 基准测试:关键路径的性能测试
测试特性
- 表驱动的全面场景覆盖测试
- 用于集成测试的模拟HTTP服务器
- 事件匹配和验证实用程序
- 并发测试模式
- 可重用助手的测试实用程序包
🗺️ 路线图
查看我们的综合 ROADMAP.md 详细的发展优先事项,包括:
- 1535+MCP服务器联盟 来自12个类别 mcpservers.org
- 通用MCP编排器 愿景和实施计划
- 季度发布时间表 具有渐进式联盟里程碑
- 社区参与 机会和反馈渠道
- 技术实现 大规模联邦计划
🤝 贡献
我们欢迎捐款!请查看 贡献.md 作为指导方针。
开发设置
看 开发商.md 详细的开发说明。
# Setup development environment
make init
# Run tests and linting
make test lint
# Submit changes
make fmt
git add .
git commit -m "feat: add new feature"📚 文档
🔐 安全
- 非根容器执行
- TLS支持所有协议
- 通过API密钥或OAuth2进行身份验证
- 速率限制和DDoS保护
- 使用Trivy进行定期安全扫描
向以下人员报告安全漏洞:security@tributary-ai-services.com
📊 演出
- 每个实例每秒处理10000多个事件
- 亚毫秒级转发延迟
- 使用Kubernetes HPA进行横向扩展
- 有界缓冲区的高效内存使用
- 下游服务的连接池
🗺️ 路线图
- \[\]Helm chart便于部署
- \[\]WebSocket支持实时流媒体
- \[\]事件回放和时间旅行调试
- \[\]用于灵活查询的GraphQL API
- \[\]具有保留策略的内置事件存储
- \[\]流行语言的SDK库
- \[\]用于云部署的Terraform模块
📄 许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
______________________________________________________________________
Built with ❤️ by Tributary AI Services
