You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+38-5Lines changed: 38 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,20 +106,25 @@ Copy the `.env.example` file to `.env` and update with your specific configurati
106
106
107
107
```env
108
108
LITELLM_CONFIG_PATH=model.config.toml
109
+
# Optional: Path to your MCP server configuration file
110
+
# MCP_CONFIG_PATH=mcp.toml
109
111
110
112
# Redis configuration
111
113
REDIS_HOST=localhost
112
114
REDIS_PORT=6379
113
115
114
-
# Optional for research functionality
115
-
JINA_API_KEY=your-jina-api-key
116
+
# JINA API Key
117
+
# JINA_API_KEY=your-jina-api-key # Uncomment and set if using deep research
116
118
117
119
# For image processing
118
-
AZURE_VISION_ENDPOINT=your-azure-vision-endpoint
119
-
AZURE_VISION_KEY=your-azure-vision-key
120
+
# AZURE_VISION_ENDPOINT=your-azure-vision-endpoint # Uncomment and set if using Azure vision
121
+
# AZURE_VISION_KEY=your-azure-vision-key # Uncomment and set if using Azure vision
120
122
121
123
# For web search functionality
122
-
SERPAPI_API_KEY=your-serpapi-api-key
124
+
# SERPAPI_API_KEY=your-serpapi-api-key # Uncomment and set for Google Search via SerpAPI
125
+
# SERPER_API_KEY=your-serper-api-key # Uncomment and set for Google Search via Serper
126
+
127
+
SENDER_EMAIL=ai-assistant@mxtoai.com
123
128
```
124
129
125
130
This project supports load balancing and routing across multiple models, so you can define as many models as you'd like. Copy `model.config.example.toml` to a toml file and update it with your preferred configuration. Update `.env` with the path your toml relative to root.
@@ -257,6 +262,34 @@ The system now supports:
257
262
- Fallback responses for partial failures
258
263
- Comprehensive error logging
259
264
265
+
### MCP Server Integration (Optional)
266
+
267
+
The system supports integration with Model Context Protocol (MCP) servers, allowing the EmailAgent to leverage additional tools and data sources.
268
+
269
+
**Configuration:**
270
+
271
+
1. Create or copy `mcp.toml.example` to `mcp.toml` in the project root.
272
+
2. Edit `mcp.toml` to define your MCP server configurations. Refer to the comments within `mcp.toml.example` for detailed instructions and examples for both Stdio and SSE based servers.
273
+
3. Ensure each server configuration you want to use has `enabled = true`.
274
+
4. You can specify a custom path for this configuration file by setting the `MCP_CONFIG_PATH` environment variable in your `.env` file.
275
+
276
+
**Example `mcp.toml` entry:**
277
+
```toml
278
+
[mcp_servers.my_filesystem_reader]
279
+
type = "stdio"
280
+
command = "npx"
281
+
args = [
282
+
"-y",
283
+
"@modelcontextprotocol/server-filesystem",
284
+
"/path/to/readable/directory"
285
+
]
286
+
env = { "SOME_VAR" = "some_value" }
287
+
enabled = true
288
+
```
289
+
290
+
**Security Note:**
291
+
Using MCP servers, especially Stdio-based ones, involves running external commands and code. The system uses `trust_remote_code=True` when loading these tools via `smolagents`, which is often necessary for their functionality but carries inherent security risks. **Only configure and enable MCP servers from sources you explicitly trust.**
292
+
260
293
## Load Testing
261
294
262
295
The project uses Locust for load testing various email processing scenarios.
0 commit comments