| name | kailash-mcp |
| description | Kailash MCP — server/client/tools/resources/auth/transports for AI agent integration. |
Kailash MCP - Model Context Protocol Integration
Production-ready MCP server implementation built into Kailash Core SDK for seamless AI agent integration.
Overview
Kailash's MCP module provides:
- Full MCP Specification: Complete implementation of Model Context Protocol
- Multiple Transports: stdio, SSE, HTTP support
- Structured Tools: Type-safe tool definitions
- Resource Management: Expose data sources to AI agents
- Authentication: Secure MCP server access
- Progress Reporting: Real-time operation status
- Testing Support: Comprehensive testing utilities
Quick Start
from kailash_mcp import MCPServer
server = MCPServer(name="my-server")
@server.tool()
def summarize(text: str) -> str:
"""Summarize the given text."""
workflow = create_summary_workflow()
results, run_id = runtime.execute(workflow.build())
return results["summary"]
server.run()
Reference Documentation
Getting Started
Security & Operations
Key Concepts
MCP Protocol
The Model Context Protocol enables AI agents to:
- Tools: Call structured functions
- Resources: Access data sources
- Prompts: Use pre-defined templates
- Sampling: Request LLM completions
Transports
MCP supports multiple transport mechanisms:
- stdio: Standard input/output (default, simplest)
- SSE: Server-Sent Events (for web clients)
- HTTP: RESTful API (for HTTP clients)
Structured Tools
Tools are type-safe functions exposed to AI agents:
- Automatic schema generation from Python type hints
- Input validation
- Error handling
- Progress reporting
Resources
Resources expose data to AI agents:
- File systems
- Databases
- APIs
- Custom data sources
When to Use This Skill
Use MCP when you need to:
- Expose workflows as tools for AI agents
- Build MCP servers for Claude Desktop or other clients
- Integrate Kailash workflows with AI assistants
- Provide structured tools to language models
- Expose resources for RAG applications
- Build custom MCP integrations
Integration Patterns
With Core SDK (Workflow Tools)
from kailash_mcp import MCPServer
from kailash.workflow.builder import WorkflowBuilder
server = MCPServer(name="workflow-server")
@server.tool()
def process_data(input: str) -> dict:
"""Process data through a workflow."""
workflow = WorkflowBuilder()
results, run_id = runtime.execute(workflow.build())
return results["output"]
With Nexus (Multi-Channel with MCP)
from nexus import Nexus
app = Nexus()
app.register("my_workflow", workflow.build())
app.start()
With DataFlow (Database Access)
from kailash_mcp import MCPServer
from dataflow import DataFlow
server = MCPServer(name="db-server")
db = DataFlow(...)
@server.resource("users://list")
def get_users():
"""Expose database via MCP resource."""
return db.query_users()
With Kaizen (Agent Tools)
from kailash_mcp import MCPServer
from kaizen.core.base_agent import BaseAgent
server = MCPServer(name="agent-server")
@server.tool()
def analyze(text: str) -> str:
"""Analyze text using an AI agent."""
agent = AnalysisAgent()
return agent(text=text).result
Critical Rules
- ✅ Use stdio transport for local development
- ✅ Define clear tool schemas with type hints
- ✅ Implement progress reporting for long operations
- ✅ Test MCP servers with real MCP clients
- ✅ Use authentication for production servers
- ❌ NEVER expose sensitive data without authentication
- ❌ NEVER skip input validation
- ❌ NEVER mock MCP protocol in tests (use real transports)
Transport Selection
| Transport | Use Case | Pros | Cons |
|---|
| stdio | Local tools, CLI | Simple, reliable | Local only |
| SSE | Web apps | Real-time updates | Complex setup |
| HTTP | APIs, services | Standard protocol | No streaming |
Version Compatibility
- Core SDK Version: 0.9.25+
- MCP Specification: Latest
- Python: 3.8+
- Transports: stdio, SSE, HTTP
Related Skills
Support
For MCP-specific questions, invoke:
mcp-specialist - MCP server implementation
testing-specialist - MCP testing strategies
- ``decide-framework
skill - MCP integration architecture