Skip to main content

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

  1. Login to Chatty AI as admin
  2. Navigate to SettingsMCP Servers
  3. Click "Add Server"
  4. Fill in details:
    • Name: Descriptive name (e.g., "Filesystem")
    • URL: MCP server URL (e.g., http://mcp-filesystem:3000)
    • Description: Optional description
  5. Click "Save"
  6. 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