Tributary-ai-services/tas-mcp
If you are the rightful owner of tas-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Model Context Protocol (MCP) server is designed to facilitate communication and data exchange between different systems and applications, leveraging the capabilities of modern language models and context-aware processing.
π‘ TAS Model Context Protocol (MCP) Server
The TAS MCP Server is a high-performance, cloud-native event gateway and ingestion service that implements the Model Context Protocol to support RAG pipelines, event-driven architectures, and workflow orchestration across distributed AI systems.
π Key Features
- π Multi-Protocol Support: HTTP REST API and bidirectional gRPC streaming
- π Smart Event Forwarding: Rule-based routing with condition evaluation
- π― Event Transformation: Template-based and programmatic event transformation
- π Integration Ready: Native support for Argo Events, Kafka, webhooks, and more
- π MCP Server Registry: Comprehensive catalog of MCP servers and capabilities
- π Observability: Built-in metrics, health checks, and distributed tracing support
- π Production Ready: Rate limiting, circuit breakers, and retry logic
- βοΈ Cloud Native: Kubernetes-native with Helm charts and operators
- π¨ Extensible: Plugin architecture for custom forwarders and processors
π Quick Start
Using Docker
# Run with Docker
docker run -p 8080:8080 -p 50051:50051 ghcr.io/tributary-ai-services/tas-mcp:latest
# Or build locally
make docker
make docker-run
Using Docker Compose
# Start all services
make docker-compose
# View logs
docker-compose logs -f tas-mcp-server
Local Development
# Install dependencies
make init
# Run locally
make run
# Run with hot reload
make dev
π‘ API Usage
HTTP API
# Ingest a single event
curl -X POST http://localhost:8080/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:8080/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:8082/health
gRPC API
// Example Go client
import (
mcpv1 "github.com/tributary-ai-services/tas-mcp/gen/mcp/v1"
"google.golang.org/grpc"
)
conn, _ := grpc.Dial("localhost:50051", 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)
π§ Configuration
Environment Variables
Variable | Default | Description |
---|---|---|
HTTP_PORT | 8080 | HTTP API server port |
GRPC_PORT | 50051 | gRPC server port |
HEALTH_CHECK_PORT | 8082 | Health check endpoint port |
LOG_LEVEL | info | Logging level (debug, info, warn, error) |
FORWARDING_ENABLED | false | Enable event forwarding |
FORWARDING_WORKERS | 5 | Number of forwarding workers |
MAX_EVENT_SIZE | 1048576 | Maximum event size in bytes (1MB) |
Configuration File
{
"HTTPPort": 8080,
"GRPCPort": 50051,
"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"}
]
}
]
}
]
}
}
ποΈ Architecture
The TAS MCP Server follows a modular, event-driven architecture:
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β HTTP API β β gRPC API β β Webhook β
ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ
β β β
βββββββββββββββββββββ΄βββββββββββββββββββββ
β
ββββββββΌβββββββ
β Ingestion β
β Layer β
ββββββββ¬βββββββ
β
ββββββββΌβββββββ
β Rules β
β Engine β
ββββββββ¬βββββββ
β
βββββββββββββββββββββ΄βββββββββββββββββββββ
β β
ββββββββΌβββββββ ββββββββββββββββ ββββββββββββΌβββββ
β Forwarder β β Transform β β Metrics β
β (gRPC) β β Engine β β Collector β
βββββββββββββββ ββββββββββββββββ βββββββββββββββββ
π’ Deployment
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-prod
Helm Chart (Coming Soon)
helm repo add tas-mcp https://tributary-ai-services.github.io/helm-charts
helm install tas-mcp tas-mcp/tas-mcp-server
π MCP Server Registry
The TAS MCP project includes a comprehensive MCP Server Registry - a curated catalog of Model Context Protocol servers across different categories and use cases.
ποΈ Registry Categories
- π€ AI Models - LLM integrations and model serving
- π‘ Event Streaming - Real-time event processing and forwarding
- π Workflow Orchestration - Complex workflow and agent coordination
- πΎ Knowledge Bases - Vector stores and search capabilities
- π§ Data Processing - ETL and data transformation services
- π Monitoring - Observability and metrics collection
- π¬ Communication - Chat bots and messaging integrations
- π Search - Web search and content discovery services
- π·οΈ Web Scraping - Data extraction and automation tools
- ποΈ Database - Database integration and query services
- π οΈ Development Tools - Git, CI/CD, and development utilities
π Using the Registry
# 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")'
π Registry Features
- JSON Schema Validation - Ensures data consistency and structure
- Deployment Ready - Docker and Kubernetes deployment configurations
- Access Models - Clear documentation of API access patterns
- Capability Mapping - Searchable capability tags
- Cost Information - Pricing and resource requirements
See for complete registry documentation and for integration guides.
π Integrations
TAS MCP Federation Servers
The project includes several fully-integrated MCP servers ready for deployment:
π DuckDuckGo MCP Server
- Privacy-focused web search with no tracking or data collection
- News search with time filtering capabilities
- Image search with advanced filters (size, color, type)
- Content extraction from web pages
- Deployment:
deployments/docker-compose/duckduckgo-mcp/
π·οΈ Apify MCP Server
- Access to 5,000+ web scraping actors from the Apify platform
- E-commerce, social media, and news scraping
- Custom scraping configurations and data extraction
- Dataset management and export capabilities
- Deployment:
deployments/docker-compose/apify-mcp/
ποΈ PostgreSQL MCP Server
- Read-only database access with security-first design
- Schema inspection and table metadata
- Query execution with performance analysis
- Connection pooling and health monitoring
- Deployment:
deployments/postgres-mcp/
π οΈ Git MCP Server
- Repository interaction and automation
- Branch management and commit operations
- Status and diff operations
- Working tree management
- Based on official Model Context Protocol Git server
Full-Stack Deployment
# 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 '.'
See for complete integration examples in Go.
Argo Events
See for complete integration examples in Go, Python, and Node.js.
Kafka
{
"type": "kafka",
"endpoint": "kafka-broker:9092",
"config": {
"topic": "mcp-events",
"batch_size": 100
}
}
Prometheus Metrics
The server exposes Prometheus metrics at /api/v1/metrics
:
mcp_events_total
- Total events processedmcp_events_forwarded_total
- Events forwarded by targetmcp_forwarding_errors_total
- Forwarding errors by targetmcp_event_processing_duration_seconds
- Event processing latency
π§ͺ Testing
The project includes comprehensive test coverage across all packages:
# 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
Test Coverage
- Config Package: 77.6% statement coverage
- Forwarding Package: 60.1% statement coverage
- Integration Tests: End-to-end event forwarding scenarios
- Benchmark Tests: Performance testing for critical paths
Test Features
- Table-driven tests for comprehensive scenario coverage
- Mock HTTP servers for integration testing
- Event matching and validation utilities
- Concurrent testing patterns
- Test utilities package for reusable helpers
πΊοΈ Roadmap
See our comprehensive for detailed development priorities, including:
- 1,535+ MCP server federation across 12 categories from mcpservers.org
- Universal MCP Orchestrator vision and implementation plan
- Quarterly release schedule with progressive federation milestones
- Community involvement opportunities and feedback channels
- Technical implementation plans for massive-scale federation
π€ Contributing
We welcome contributions! Please see for guidelines.
Development Setup
See for detailed development instructions.
# 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"
π Documentation
- - Development setup and guidelines
- - Complete API documentation
- - System design and architecture
- - Container deployment guide
- - Integration examples and tutorials
π Security
- Non-root container execution
- TLS support for all protocols
- Authentication via API keys or OAuth2
- Rate limiting and DDoS protection
- Regular security scanning with Trivy
Report security vulnerabilities to: security@tributary-ai-services.com
π Performance
- Handles 10,000+ events/second per instance
- Sub-millisecond forwarding latency
- Horizontal scaling with Kubernetes HPA
- Efficient memory usage with bounded buffers
- Connection pooling for downstream services
πΊοΈ Roadmap
- Helm chart for easy deployment
- WebSocket support for real-time streaming
- Event replay and time-travel debugging
- GraphQL API for flexible queries
- Built-in event store with retention policies
- SDK libraries for popular languages
- Terraform modules for cloud deployment
π License
This project is licensed under the Apache License 2.0 - see the file for details.
π Acknowledgments
- Model Context Protocol by Anthropic
- Argo Events for event-driven workflows
- The Go community for excellent libraries and tools
Built with β€οΈ by Tributary AI Services