Claudio architecture
Claudio follows a simple yet powerful architecture: Channels (mouths) receive your requests, the Brain (documentation and workflows) provides context and instructions, and Hands (MCPs) execute actions across your tools.Channels: The mouths
Channels are the interfaces through which you interact with Claudio. Each channel connects to the same brain and hands, ensuring consistent behavior regardless of how you communicate.Terminal (Cursor IDE)
The most direct way to use Claudio for developers already working in Cursor. Implementation: Native Cursor chat interface with MCP configuration in~/.cursor/mcp.json
Use cases:
- Quick queries while coding
- Creating User Stories from IDE
- Checking GitHub PRs without context switching
mcp/cursor-config.json
Telegram bot
Mobile-first interface for async team members and on-the-go productivity. Implementation: Python bot usingpython-telegram-bot library, executing commands via Claude Code CLI subprocess.
Architecture:
- Long polling: Fetches messages from Telegram API
- Session management: Maintains conversation context per user via
-cflag - Security: User whitelist via
ALLOWED_USER_IDS - Rate limiting: 10 requests per minute per user
- Voice support: OpenAI Whisper transcription for voice messages
channels/telegram/bot.py:1-400
The Telegram bot supports voice messages—send a voice note and it will be transcribed via OpenAI Whisper API before being processed.
Slack bot
Team-wide integration for collaborative workflows and notifications. Implementation: Python bot usingslack-bolt library with Socket Mode for real-time events.
Architecture:
- Socket Mode: WebSocket connection (no public URL needed)
- Thread support: Responds in threads to keep channels clean
- DMs and mentions: Works in direct messages and when mentioned in channels
- Slash commands:
/claudio,/claudio-new,/claudio-status
channels/slack/bot.py:1-350
Web dashboard
Visual interface for monitoring MCPs and testing workflows. Implementation: FastAPI backend with Jinja2 templates and WebSocket for real-time chat. Architecture:- MCP monitoring: View all configured MCPs and their status
- Health checks: Test connectivity to each MCP
- Real-time chat: WebSocket streaming for live responses
- Documentation browser: Access workflows and integration guides
channels/web/app.py:1-200
URL: http://localhost:8000
Brain: The context
The brain is a collection of markdown files that define Claudio’s identity, behavior, and knowledge. When you send a request, Claudio reads relevant documentation to understand how to respond.CLAUDE.md: Identity and rules
The core instructions file that defines who Claudio is and how it should behave. Location:CLAUDE.md (root directory)
Contents:
CLAUDE.md:1-366
CLAUDE.md is automatically loaded into Claude’s context when using any channel. It acts as Claudio’s personality and operating manual.
Workflows: Multi-step processes
Predefined workflows that combine multiple MCPs to accomplish complex tasks. Location:docs/workflows/
Structure:
docs/workflows/product/daily-standup.md:1-44
Integration guides: MCP documentation
Detailed guides for each MCP, including available tools, configuration, and templates. Location:docs/integrations/
Structure:
docs/integrations/clickup/guide.md:1-78
Design system: UI/UX standards
PropHero’s design tokens and component guidelines for consistent UI feedback. Location:docs/design-system/reference.md
Usage: When Claudio reviews UI or suggests improvements, it references this file to ensure consistency with PropHero’s design system.
Hands: The MCPs
Model Context Protocol (MCP) servers give Claudio the ability to read and write data across your tools. Each MCP exposes specific tools that Claudio can call.MCP configuration
MCPs are configured in JSON files that specify the command to run, arguments, and environment variables. Location:mcp/cursor-config.json (for Cursor) or ~/.claude.json (for Claude Code CLI)
Format:
mcp/cursor-config.json:1-55
Available MCPs
ClickUp MCP
Package:
@taazkareem/clickup-mcp-serverTools:get_workspace_hierarchy- View workspace structureget_workspace_tasks- Query tasks by listget_task- Get task detailscreate_task- Create new taskupdate_task- Update existing task
GitHub MCP
Requires: GitHub Copilot subscriptionURL:
https://api.githubcopilot.com/mcp/Tools:- List repositories
- Query pull requests
- Create issues
- View code and diffs
Slack MCP
Package:
slack-mcp-serverTools:- Read messages from channels
- Post messages
- List channels
- Get user info
Google Docs MCP
Type: Local Node.js serverTools:
- Create documents
- Read document content
- Update documents
- Share documents
Google Sheets MCP
Type: Local Node.js serverTools:
- Read spreadsheet data
- Write to sheets
- Query ranges
- Format cells
Granola MCP
Type: Python moduleTools:
- List meetings
- Read transcriptions
- Get meeting notes
How MCPs are called
When you send a request, here’s what happens:Parse user intent
Claudio reads your message and determines which MCPs are neededExample: “Create a user story for login” → needs ClickUp MCP
Gather context from brain
Loads relevant documentation:
CLAUDE.mdfor behavior rulesdocs/integrations/clickup/guide.mdfor ClickUp toolsdocs/integrations/clickup/templates/user-story.mdfor template
Automated scripts
For recurring workflows, Claudio includes bash scripts that run on cron schedules. Location:scripts/
Weekly bot report
Generates and emails a weekly performance report for PropHero’s WhatsApp bot. File:scripts/weekly-bot-report.sh
Schedule: Every Monday at 9:00 AM
Implementation:
scripts/weekly-bot-report.sh:1-40
MCPs used: Google Sheets (read metrics), Gmail (send email)
Monthly DS&AI report
Generates a monthly review of the Data Science & AI squad’s progress. File:scripts/monthly-ds-ai-report.sh
Schedule: 1st of each month at 10:00 AM
MCPs used: ClickUp (query tasks), Google Docs (create report)
Cron setup
To enable automated reports:Security considerations
User authentication
Each channel implements user whitelisting: Telegram:Rate limiting
Bot channels enforce rate limits to prevent abuse:Command timeout
Long-running commands are killed after a timeout:Permissions
Bot channels use--dangerously-skip-permissions flag to avoid interactive prompts, but this requires careful configuration:
Extension points
Claudio is designed to be extended with new capabilities:Add a new MCP
Add a new workflow
Add a new channel
Add dependencies and scripts
requirements.txtfor Python packagesstart.shfor launching the bot.env.examplefor configuration template
Maintenance
Regular maintenance tasks to keep Claudio running smoothly:Quarterly: Update ClickUp IDs
Epic list IDs change each quarter. Update
docs/integrations/clickup/config.md with new Q2, Q3, etc. list IDs.As needed: MCP updates
When MCP servers update with new tools or breaking changes, update guides in
docs/integrations/ and configs in mcp/.As needed: Behavior changes
If Claudio’s personality or rules need adjustment, edit
CLAUDE.md and all channels will inherit the changes.Monthly: Review logs
Check script logs in
scripts/logs/ to ensure automated reports are running successfully.What’s next?
Now that you understand Claudio’s architecture, you can:- Customize workflows for your team’s specific needs
- Add new MCPs to connect more tools
- Create custom channels for different interfaces
- Extend the brain with team-specific knowledge
Back to Quickstart
Ready to start using Claudio? Head back to the quickstart guide