Integration between Windsurf and custom MCP servers
Details
Author
rohanbanda-TRT
Downloads
398
Categories
Other, API
Jump to
- FastAPI backend for high-performance API serving.
- WebSocket support for real-time bidirectional communication.
- Extensible tool system using a @register_tool decorator.
- RESTful API endpoints for listing and executing tools.
- Seamless integration with Windsurf IDE.
- Includes built-in tools: File Search, Code Analysis, and Web Request.
Start the server by running python main.py, which launches it on http://localhost:8089. Connect Windsurf to the server by configuring a WebSocket connection to ws://localhost:8089/ws. API documentation is available at http://localhost:8089/docs.
# MCP Server for Windsurf
Master Control Program (MCP) server that provides additional tools for the Windsurf agentic IDE.
## Overview
This MCP server is designed to extend Windsurf's capabilities by providing additional tools that aren't built into Windsurf. It uses FastAPI to create a robust API server with WebSocket support for real-time communication with Windsurf.
## Features
- **FastAPI Backend**: High-performance, easy-to-use framework
- **WebSocket Support**: Real-time bidirectional communication
- **Extensible Tool System**: Easily add new tools to extend Windsurf
- **RESTful API**: HTTP endpoints for tool execution
- **Windsurf Integration**: Seamless integration with Windsurf IDE
## Project Structure
```
MCP_servers/
├── main.py # Main FastAPI application
├── tools.py # Custom tool implementations
├── windsurf_integration.py # Windsurf integration module
├── requirements.txt # Project dependencies
└── README.md # Documentation
```
## Built-in Tools
The MCP server comes with several built-in tools:
1. **File Search**: Search for files in a directory with pattern matching
2. **Code Analysis**: Analyze code files for syntax, complexity, and dependencies
3. **Web Request**: Make HTTP requests to external APIs
## Installation
1. Clone the repository
2. Create a virtual environment:
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```
pip install -r requirements.txt
```
## Usage
1. Start the MCP server:
```
python main.py
```
This will start the server on http://localhost:8089
2. Connect Windsurf to the MCP server by configuring the WebSocket connection to:
```
ws://localhost:8089/ws
```
3. Access the API documentation at http://localhost:8089/docs
## Adding Custom Tools
To add a new tool to the MCP server:
1. Open `tools.py`
2. Use the `@register_tool` decorator to register your tool:
```python
@register_tool(
name="my_custom_tool",
description="Description of what the tool does",
parameters={
"param1": {"type": "string", "description": "Description of parameter 1"},
"param2": {"type": "integer", "description": "Description of parameter 2"}
}
)
async def my_custom_tool_handler(params: Dict[str, Any]) -> Any:
# Tool implementation
param1 = params.get("param1", "")
param2 = params.get("param2", 0)
# Do something with the parameters
result = f"Processed {param1} with value {param2}"
return {"output": result}
```
## API Endpoints
- `GET /`: Server information
- `GET /tools`: List all available tools
- `POST /tools/{tool_name}`: Execute a specific tool
- `WebSocket /ws`: WebSocket endpoint for real-time communication
## License
MIT
No reviews yet — be the first
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
Sequential Thinking is an MCP server that provides a tool for dynamic and reflective problem-solving through a structured, step-by-step thinking process. It is…
Filesystem is a Node.js server that implements the Model Context Protocol (MCP) for filesystem operations. It enables AI assistants to read, write, and manage…
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!