diff --git a/README.md b/README.md index ceb7404602caeb807243f492ca92fe7980bb0d58..534b8c36311e1b0559796ce4df0fba8ed0773611 100644 --- a/README.md +++ b/README.md @@ -101,14 +101,18 @@ Crush can use LSPs for additional context to help inform its decisions, just lik ### MCPs -Crush can also use MCPs for additional context. Add LSPs to the config like so: +Crush supports Model Context Protocol (MCP) servers through three transport types: `stdio` for command-line servers, `http` for HTTP endpoints, and `sse` for Server-Sent Events. Environment variable expansion is supported using `$(echo $VAR)` syntax. ```json { "mcp": { - "context7": { - "url": "https://mcp.context7.com/mcp", - "type": "http" + "filesystem": { + "type": "stdio", + "command": "node", + "args": ["/path/to/mcp-server.js"], + "env": { + "NODE_ENV": "production" + } }, "github": { "type": "http", @@ -116,11 +120,47 @@ Crush can also use MCPs for additional context. Add LSPs to the config like so: "headers": { "Authorization": "$(echo Bearer $GH_MCP_TOKEN)" } + }, + "streaming-service": { + "type": "sse", + "url": "https://example.com/mcp/sse", + "headers": { + "API-Key": "$(echo $API_KEY)" + } } } } ``` +### Logging + +Enable debug logging with the `-d` flag or in config. View logs with `crush logs`. Logs are stored in `.crush/logs/crush.log`. + +```bash +# Run with debug logging +crush -d + +# View last 1000 lines +crush logs + +# Follow logs in real-time +crush logs -f + +# Show last 500 lines +crush logs -t 500 +``` + +Add to your `crush.json` config file: + +```json +{ + "options": { + "debug": true, + "debug_lsp": true + } +} +``` + ### OpenAI-Compatible APIs Crush supports all OpenAI-compatible APIs. Here's an example configuration for Deepseek, which uses an OpenAI-compatible API. Don't forget to set `DEEPSEEK_API_KEY` in your environment.