MCP Connector
Connect to external MCP (Model Context Protocol) servers to give your agents access to additional tools like GitHub, Slack, databases, and more.
MCPServer
mcp.py
from veska import MCPServer
server = MCPServer(
name="github",
command="npx",
args=["-y", "@modelcontextprotocol/server-github"],
env=["GITHUB_TOKEN"], # Auto-reads from .env
)Connecting
connect.py
# Connect — starts the server process and discovers tools
connected = await server.connect()
if connected:
print(f"Connected to {server.name}")
print(f"Available tools: {[t.name for t in server.tools]}")
# Use a discovered tool
result = await server.call_tool("create_issue", {
"repo": "my-org/my-repo",
"title": "Bug fix needed",
"body": "Description of the issue",
})
# Disconnect when done
await server.disconnect()Environment variables
Two ways to pass environment variables:
env.py
# Option 1: List of names — auto-reads from .env file
server = MCPServer(
name="github",
command="npx",
args=["-y", "@modelcontextprotocol/server-github"],
env=["GITHUB_TOKEN", "GITHUB_ORG"],
)
# Option 2: Dict — pass values directly
server = MCPServer(
name="github",
command="npx",
args=["-y", "@modelcontextprotocol/server-github"],
env={"GITHUB_TOKEN": "ghp_xxx", "GITHUB_ORG": "my-org"},
)With Orchestrator
orch.py
orchestrator = Orchestrator(
model="claude-sonnet-4-6",
agents=[dev_agent],
mcp_servers=[
{
"name": "github",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": ["GITHUB_TOKEN"],
},
{
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"],
},
],
)
# MCP tools are automatically available to agentsProperties
props.py
server.connected # True if server is running
server.tools # List of Tool instances (auto-discovered)