MCP / Strumenti
Extend IntelligenceBox capabilities with Model Context Protocol (MCP) tools. Connect to databases, APIs, file systems, and more through a standardized plugin system.
What is MCP?
The Model Context Protocol (MCP) is a standard for connecting AI models to external tools and data sources. IntelligenceBox uses MCP to enable assistants to:
- Query databases (PostgreSQL, MongoDB)
- Access file systems with configurable permissions
- Interact with APIs (GitHub, Slack, Stripe)
- Perform web searches
- Execute custom business logic
Architecture
MCP Architecture
┌─────────────────────────────────────────────────────────────────┐
│ IntelligenceBox │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ Assistant │ ──────► │ MCP Client │ │
│ │ (LLM) │ │ (Plugin Mgr) │ │
│ └─────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Plugin A │ │ Plugin B │ │ Plugin C │ │
│ │ (Docker) │ │ (Docker) │ │ (Local) │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘Key Concepts
Docker Containers
Each MCP plugin runs in an isolated Docker container with its own dependencies and permissions.
Tool Definitions
Plugins expose tools with JSON schemas that describe inputs, outputs, and capabilities.
Secure Configuration
API keys and credentials are configured per-plugin and never exposed to the LLM.
Plugin Lifecycle
- Registration: Plugin is added to the registry with its Docker image and config schema
- Configuration: User configures the plugin with required credentials/settings
- Startup: Docker container is started when an assistant needs the plugin
- Tool Discovery: MCP client queries the plugin for available tools
- Execution: Assistant invokes tools through the MCP protocol
- Shutdown: Container is stopped when no longer needed (configurable)
Communication
MCP supports multiple transport mechanisms:
| Transport | Use Case | Notes |
|---|---|---|
stdio | Docker containers | Default for most plugins |
http | Remote services | REST-based communication |
sse | Streaming responses | Server-Sent Events |