This guide walks you through setting up DevsContext with Windsurf IDE.
- Python 3.11 or higher
- Windsurf IDE (any recent version with MCP support)
pip install devscontextVerify installation:
devscontext --versionCreate .devscontext.yaml in your project root:
devscontext initOr create manually:
sources:
jira:
enabled: true
base_url: "https://your-company.atlassian.net"
email: "${JIRA_EMAIL}"
api_token: "${JIRA_API_TOKEN}"
docs:
enabled: true
paths:
- "./docs"
- "./CLAUDE.md"
synthesis:
provider: "anthropic"
model: "claude-haiku-4-5"Set environment variables:
export JIRA_EMAIL="you@company.com"
export JIRA_API_TOKEN="your-token"
export ANTHROPIC_API_KEY="your-key"- Open Windsurf
- Go to Settings > Advanced Settings
- Or use Command Palette: Open Windsurf Settings Page
- Scroll to the Cascade section
- Click Add new server
- Enter:
- Name:
devscontext - Command:
devscontext - Arguments:
serve
- Name:
Edit ~/.codeium/windsurf/mcp_config.json:
macOS/Linux:
mkdir -p ~/.codeium/windsurfWindows:
mkdir -Force "$env:USERPROFILE\.codeium\windsurf"Add the configuration:
{
"mcpServers": {
"devscontext": {
"command": "devscontext",
"args": ["serve"]
}
}
}- Open Cascade chat in Windsurf
- Type: "work on PROJ-123" (replace with a real ticket ID)
- Cascade should call
get_task_contextand show synthesized context
| Prompt | Tool Called |
|---|---|
| "work on PROJ-123" | get_task_context |
| "start ticket PROJ-456" | get_task_context |
| "how do we handle payment retries?" | search_context |
| "what was decided about webhooks?" | search_context |
| "what are our testing standards?" | get_standards |
Try DevsContext without any API keys:
{
"mcpServers": {
"devscontext-demo": {
"command": "devscontext",
"args": ["serve", "--demo"]
}
}
}This uses sample data for a payments webhook ticket (PROJ-123).
- Restart Windsurf after adding the config
- Check that
devscontextis in your PATH:which devscontext
- Use the full path:
"command": "/path/to/devscontext" - Find the path with:
which devscontext
Windsurf has a 100-tool limit across all MCP servers. If you hit this limit:
- Go to Settings > Advanced Settings > Cascade
- Disable tools you don't need from other MCP servers
- Check Windsurf's developer console for MCP errors
- Look in the Cascade section of settings for server status
If credentials aren't being picked up:
- Ensure variables are exported in your shell profile (
~/.zshrc,~/.bashrc) - Restart Windsurf completely (not just reload)
- Or pass them directly in the config:
{
"mcpServers": {
"devscontext": {
"command": "devscontext",
"args": ["serve"],
"env": {
"JIRA_EMAIL": "you@company.com",
"JIRA_API_TOKEN": "your-token",
"ANTHROPIC_API_KEY": "your-key"
}
}
}
}- Configuration Reference - Full config options
- Plugin System - Add custom adapters
- Pre-processing Agent - Build context proactively