Omnyx personality adaptation for Windsurf IDE via MCP
Project description
Omnyx Windsurf Plugin
Personality-driven adaptation for Windsurf IDE via MCP (Model Context Protocol) and settings injection.
Installation
cd omnyx-windsurf
pip install -e .
How It Works
Windsurf supports MCP (Model Context Protocol) — an open standard for extending AI capabilities. This plugin provides:
- MCP Server — Windsurf connects to
omnyx-windsurfas an MCP tool - Settings Injection — Modifies
.windsurfrcwith personality-driven configurations - Cascade Context — Injects personality context into every AI interaction
Architecture
┌──────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Windsurf │◄───►│ omnyx-windsurf│◄───►│ Omnyx Backend │
│ IDE │ MCP │ MCP Server │ │ (/api/agentic) │
│ │ │ │ │ │
│ • Cascade │ │ • Personality │ │ │
│ • Settings │ │ analysis │ │ │
│ • Config │ │ • Autonomy │ │ │
│ files │ │ mapping │ │ │
└──────────────┘ └──────────────┘ └─────────────────┘
Setup
Quick Setup (One Command)
omnyx-windsurf setup --api-key omx_your_key_here --auto-configure
Then restart Windsurf IDE.
Manual Setup (Step by Step)
Step 1: Configure Omnyx
omnyx-windsurf setup --api-key omx_...
Step 2: Configure Windsurf
omnyx-windsurf configure-windsurf
Step 3: Restart Windsurf IDE
Where Config Files Go
The plugin creates/modifies these files:
MCP Config:
- macOS:
~/Library/Application Support/Windsurf/mcp_config.json - Linux:
~/.config/Windsurf/mcp_config.json - Windows:
%APPDATA%\Windsurf\mcp_config.json
Windsurf Settings:
- All platforms:
~/.windsurfrc
This creates/modifies:
// .windsurfrc
{
"omnyx.enabled": true,
"omnyx.autonomy_level": "adaptive",
"omnyx.planning_mode": "detailed",
"omnyx.verbosity": "profile_based",
"omnyx.test_generation": "comprehensive",
"omnyx.cascade.context_injection": true
}
Usage
Automatic (Recommended)
Once configured, Windsurf automatically:
- Sends task context to Omnyx via MCP
- Receives personality profile and adaptation settings
- Adjusts Cascade behavior in real-time
Manual Context
Users can also invoke Omnyx explicitly in Cascade:
@omnyx check my personality profile
@omnyx adapt this task for my style
MCP Tools Provided
The plugin exposes these MCP tools to Windsurf:
omnyx_get_profile
Get current personality profile and confidence score.
Returns:
{
"confidence": 0.82,
"autonomy_level": "checkpointed",
"planning_style": "detailed",
"communication_style": "thorough",
"last_updated": "2024-01-15T10:30:00Z"
}
omnyx_adapt_task
Get autonomy configuration for a specific task.
Input:
{
"task_description": "Build user authentication",
"estimated_scope": "medium",
"file_context": ["src/auth.py", "src/models.py"]
}
Returns:
{
"autonomy": "checkpointed",
"planning_depth": "detailed",
"test_coverage": "comprehensive",
"cascade_instructions": "[Context: User prefers comprehensive solutions]"
}
omnyx_get_suggestions
Retrieve pending personalization suggestions.
omnyx_accept_suggestion / omnyx_dismiss_suggestion
Manage suggestion workflow.
Privacy Modes
Configure via .windsurfrc or CLI:
# Mode 1: Full context (default)
omnyx-windsurf config --privacy-mode raw_prompts
# Mode 2: Task only (no file contents)
omnyx-windsurf config --privacy-mode task_only
# Mode 3: Paused
omnyx-windsurf config --privacy-mode paused
Commands
omnyx-windsurf setup --api-key omx_... # Initial configuration
omnyx-windsurf configure-windsurf # Install MCP config
omnyx-windsurf status # Show profile and connection
omnyx-windsurf mcp # Start MCP server (for Windsurf)
omnyx-windsurf config # View/change settings
omnyx-windsurf check "task description" # Test adaptation
omnyx-windsurf forget # Clear all data
Integration with .windsurfrc
The plugin modifies .windsurfrc to inject context:
{
"cascade.system_prompt": "[Omnyx: User prefers detailed explanations with trade-off analysis. Confidence: 82%]",
"omnyx.autonomy": {
"level": "checkpointed",
"checkpoint_frequency": "major_decisions"
},
"omnyx.style": {
"verbosity": "high",
"warmth": "medium",
"structure": "detailed"
},
"omnyx.testing": {
"coverage": "comprehensive",
"include_edge_cases": true
}
}
Development
# Run MCP server directly for testing
omnyx-windsurf mcp --debug
# Test task adaptation
omnyx-windsurf check "Refactor authentication module"
Differences from omnyx-devin
| Aspect | omnyx-devin (Cognition) | omnyx-windsurf |
|---|---|---|
| Integration | Requires vendor support | ✅ MCP protocol (works now) |
| Config method | API calls | .windsurfrc settings |
| Context | Task descriptions | Files + workspace context |
| Real-time | Batch | ✅ Live via MCP |
| UI injection | None | ✅ Cascade system prompt |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file omnyx_windsurf-0.1.2.tar.gz.
File metadata
- Download URL: omnyx_windsurf-0.1.2.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56810d8f6a7311ac7c9c8492d9fa1d4cfd9ba7f16f78643bedb4b1748d2f561c
|
|
| MD5 |
66024c06e115cc230356078dab2db466
|
|
| BLAKE2b-256 |
32559adb5b6ef40134f9046fc8abe706470413b2a1c0af6010d303124d33c81a
|
File details
Details for the file omnyx_windsurf-0.1.2-py3-none-any.whl.
File metadata
- Download URL: omnyx_windsurf-0.1.2-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1f1c9a9bb2539539d4bdb9fb27262393b5f19f404c6a82d8887c7a82dcd3d4c
|
|
| MD5 |
f00fdfd75025c416cbce1f109ce34a28
|
|
| BLAKE2b-256 |
0f85d01d1abc13799c0a3afd40f0055712be431e87dfa1eb8a6ae16ba18b41ee
|