MCP Servers (Model Context Protocol)
Model Context Protocol (MCP) servers extend Chatty AI with additional capabilities like filesystem access, Git operations, and database connections.
Overview
MCP is an open protocol that enables AI assistants to securely access external data sources and tools. Chatty AI supports connecting to multiple MCP servers simultaneously.
Common Use Cases:
- File system operations (read, write, search)
- Git repository management
- Database queries
- API integrations
- Custom tool development
Available MCP Servers
Chatty AI Provided MCP Servers
1. Microsoft 365 MCP Server
Chatty AI multitenant app integration - No Azure setup required!
Capabilities:
- Outlook email access
- OneDrive file operations
- Calendar management
- Teams integration
- SharePoint access
- To Do tasks
- OneNote notebooks
- Excel operations
MCP Server URL:
# Chatty AI Hosted (Recommended)
https://mcp-ms365.chattyai.io
# Or internal deployment
http://mcp-ms365:3100
Configuration:
# In Chatty AI Admin UI
Settings → MCP Servers → Add Server
Name: Microsoft 365
URL: https://mcp-ms365.chattyai.io
Description: MS365 integration via Chatty AI multitenant app
Benefits:
- ✅ No Azure App Registration needed
- ✅ Pre-configured permissions
- ✅ Vendor-managed credentials
- ✅ All MS365 services enabled
See Microsoft 365 Apps Integration for details.
2. Jira MCP Server
Jira integration via Chatty AI MCP server
Capabilities:
- Create and update issues
- Query projects
- Search issues
- Add comments
- Transition workflows
MCP Server URL:
# Chatty AI Hosted
https://mcp-jira.chattyai.io
# Or internal deployment
http://mcp-jira:3101
Configuration:
# In Chatty AI Admin UI
Settings → MCP Servers → Add Server
Name: Jira
URL: https://mcp-jira.chattyai.io
See Jira Integration for details.
3. Monday.com MCP Server
Monday.com integration via Chatty AI MCP server
Capabilities:
- Create and update items
- Query boards
- Manage columns
- Add updates
- Track progress
MCP Server URL:
# Chatty AI Hosted
https://mcp-monday.chattyai.io
# Or internal deployment
http://mcp-monday:3102
Configuration:
# In Chatty AI Admin UI
Settings → MCP Servers → Add Server
Name: Monday.com
URL: https://mcp-monday.chattyai.io
See Monday.com Integration for details.
General Purpose MCP Servers
4. Filesystem MCP Server
Access and manipulate files on the server.
Capabilities:
- Read file contents
- Write files
- List directories
- Search files
- File metadata
MCP Server URL:
http://mcp-filesystem:3000
Configuration:
# In Chatty AI Admin UI
Settings → MCP Servers → Add Server
Name: Filesystem
URL: http://mcp-filesystem:3000
5. Git MCP Server
Interact with Git repositories.
Capabilities:
- Clone repositories
- Read file contents from repos
- View commit history
- Branch operations
- Diff viewing
MCP Server URL:
http://mcp-git:3001
Configuration:
# In Chatty AI Admin UI
Settings → MCP Servers → Add Server
Name: Git
URL: http://mcp-git:3001
6. Database MCP Server
Query databases directly.
Capabilities:
- Execute SQL queries
- List tables and schemas
- View table data
- Database metadata
MCP Server URL:
http://mcp-database:3002
Configuration:
# In Chatty AI Admin UI
Settings → MCP Servers → Add Server
Name: Database
URL: http://mcp-database:3002
7. Custom MCP Servers
Deploy your own MCP servers for custom functionality.
Example Custom Server:
http://your-custom-mcp:3003
Configuration Methods
Method 1: Admin UI (Recommended)
- Login to Chatty AI as admin
- Navigate to Settings → MCP Servers
- Click "Add Server"
- Fill in details:
- Name: Descriptive name (e.g., "Filesystem")
- URL: MCP server URL (e.g.,
http://mcp-filesystem:3000) - Description: Optional description
- Click "Save"
- Test connection
Method 2: Environment Variables
Configure default MCP servers via environment variables:
# Add to .env file
MCP_SERVERS='[
{
"name": "Filesystem",
"url": "http://mcp-filesystem:3000",
"enabled": true
},
{
"name": "Git",
"url": "http://mcp-git:3001",
"enabled": true
},
{
"name": "Database",
"url": "http://mcp-database:3002",
"enabled": true
}
]'
Restart services:
docker compose restart chattyai
Method 3: API Configuration
Use Chatty AI API to configure MCP servers:
# Add MCP server via API
curl -X POST https://chat.example.com/api/mcp/servers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Filesystem",
"url": "http://mcp-filesystem:3000",
"enabled": true
}'
Deploying MCP Servers
Using Docker Compose
Add MCP servers to your docker-compose.yaml:
services:
# Filesystem MCP Server
mcp-filesystem:
image: modelcontextprotocol/filesystem-server:latest
container_name: mcp-filesystem
ports:
- "3000:3000"
volumes:
- /path/to/files:/data:ro # Read-only access
environment:
- MCP_PORT=3000
- MCP_ROOT_PATH=/data
networks:
- chatty-network
# Git MCP Server
mcp-git:
image: modelcontextprotocol/git-server:latest
container_name: mcp-git
ports:
- "3001:3001"
environment:
- MCP_PORT=3001
networks:
- chatty-network
# Database MCP Server
mcp-database:
image: modelcontextprotocol/database-server:latest
container_name: mcp-database
ports:
- "3002:3002"
environment:
- MCP_PORT=3002
- DB_HOST=your-db-host
- DB_PORT=5432
- DB_USER=readonly_user
- DB_PASSWORD=readonly_password
networks:
- chatty-network
networks:
chatty-network:
external: true
Deploy:
docker compose up -d mcp-filesystem mcp-git mcp-database
Security Considerations
1. Network Isolation
MCP servers should be on the same Docker network as Chatty AI:
networks:
chatty-network:
external: true
2. Read-Only Access
For filesystem access, use read-only volumes:
volumes:
- /path/to/files:/data:ro # :ro = read-only
3. Dedicated Service Accounts
For database MCP servers, use read-only database users:
-- Create read-only user
CREATE USER mcp_readonly WITH PASSWORD 'secure_password';
GRANT CONNECT ON DATABASE mydb TO mcp_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_readonly;
4. Authentication
Secure MCP servers with authentication:
# MCP server with API key
MCP_API_KEY=your-secure-api-key
# Configure in Chatty AI
Settings → MCP Servers → Add Server
URL: http://mcp-server:3000
Headers: {"Authorization": "Bearer your-secure-api-key"}
5. HTTPS/TLS
For production, use HTTPS for MCP server communication:
# MCP server URL with HTTPS
https://mcp-server.example.com
Using MCP Servers in Chatty AI
Example: Reading Files
User: Can you read the contents of /data/config.yaml?
Chatty AI: [Uses Filesystem MCP Server]
Here are the contents of config.yaml:
...
Example: Git Operations
User: Show me the latest commits in the main branch
Chatty AI: [Uses Git MCP Server]
Latest commits:
1. Fix bug in authentication (2 hours ago)
2. Add new feature (1 day ago)
...
Example: Database Queries
User: How many users are in the database?
Chatty AI: [Uses Database MCP Server]
There are 1,234 users in the database.
Troubleshooting
MCP Server Not Connecting
# Check MCP server is running
docker ps | grep mcp
# Check MCP server logs
docker logs mcp-filesystem
# Test MCP server directly
curl http://mcp-filesystem:3000/health
# Check network connectivity
docker exec chattyai ping mcp-filesystem
Permission Denied
# Check volume permissions
ls -la /path/to/files
# Fix permissions
sudo chown -R 1000:1000 /path/to/files
# Or use read-only access
volumes:
- /path/to/files:/data:ro
MCP Server Timeout
# Increase timeout in Chatty AI
Settings → MCP Servers → Edit Server
Timeout: 30000 # 30 seconds
# Or in environment variables
MCP_TIMEOUT=30000
Custom MCP Server Development
Creating a Custom MCP Server
Example Node.js MCP server:
// server.js
const express = require('express');
const app = express();
app.get('/health', (req, res) => {
res.json({ status: 'ok' });
});
app.post('/tools/my-tool', (req, res) => {
// Your custom tool logic
res.json({ result: 'success' });
});
app.listen(3003, () => {
console.log('Custom MCP server running on port 3003');
});
Dockerfile:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3003
CMD ["node", "server.js"]
Deploy:
docker build -t my-custom-mcp .
docker run -d --name my-custom-mcp \
--network chatty-network \
-p 3003:3003 \
my-custom-mcp
MCP Server Checklist
Setup
- MCP servers deployed
- Network connectivity verified
- Servers added in Chatty AI admin UI
- Connection tested
- Permissions configured
Security
- Read-only access where appropriate
- Authentication configured
- Network isolation implemented
- HTTPS enabled (production)
- Service accounts created
Testing
- Health check passing
- Tools accessible from Chatty AI
- Permissions working correctly
- Error handling tested
- Performance acceptable
Related Documentation
- Integrations Overview - All integrations
- n8n Integration - Workflow automation
- Databases Integration - Natural language SQL
- Environment Variables - MCP configuration