We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Osmosis-AI/Osmosis-Apply-1.7B-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
# CodeMerge
A Model Context Protocol (MCP) server that uses the Osmosis-Apply-1.7B model to merge code edits.
- **Code Merging**: Uses the Osmosis/Osmosis-Apply-1.7B model to apply edits
- **MCP Integration**: Works as a Model Context Protocol server to integrate into existing AI IDE solutions
- **File Operations**: Can directly edit files in place or return edited code
## Installation
### Prerequisites
- Python 3.10 or higher
- [Ollama](https://ollama.ai/) installed and running
- The Osmosis model pulled: `ollama pull Osmosis/Osmosis-Apply-1.7B`
### Setup
1. Clone the repository:
```bash
git clone <repository-url>
cd codemerge
```
2. Install dependencies using uv:
```bash
uv sync
```
3. Run:
```bash
uv run python codemerge.py
```
## Usage
### As an MCP Server
CodeMerge can be used as an MCP server. Configure it in your MCP client:
```json
{
"mcpServers": {
"codemerge": {
"command": "uv",
"args": [
"--directory",
"/path/to/codemerge",
"run",
"codemerge.py"
]
}
}
}
```
### Direct Usage
You can also use CodeMerge directly in Python:
```python
from call_snippet import apply_code_edit
# Original code
original_code = """def hello():
print('Hello, World!')
print('Some code')
print('Some more code')
return 'success'"""
# Edit to apply
edit_snippet = """def hello():
print('Hello, Universe!')
print('Some code')
# ... existing code ...
return 'success'"""
# Apply the edit
result = apply_code_edit(original_code, edit_snippet)
print(result)
```
### MCP Tool Usage
The MCP server provides an `edit_snippet` tool with the following parameters:
- `original_code`: The exact original code to be edited
- `edit_snippet`: The edit to apply, using `// ... existing code ...` markers
- `file_path`: Absolute path to a file to update in place
Example tool call:
```json
{
"name": "edit_snippet",
"arguments": {
"original_code": "def hello():\n print('Hello, World!')",
"edit_snippet": "def hello():\n print('Hello, Universe!')\n # ... existing code ...",
"file_path": "/path/to/your/file.py"
}
}
```
## Edit Format
CodeMerge uses a specific format for edits that preserves context while being concise:
```
// ... existing code ...
FIRST_EDIT
// ... existing code ...
SECOND_EDIT
// ... existing code ...
THIRD_EDIT
// ... existing code ...
```
The `// ... existing code ...` markers indicate where the original code should be preserved. This allows you to specify only the parts you want to change while maintaining the exact structure and formatting of the original code.
## Dependencies
- `httpx>=0.28.1`: HTTP client for API calls
- `mcp[cli]>=1.10.1`: Model Context Protocol implementation
- `ollama`: Python client for Ollama (installed separately)
## Architecture
CodeMerge consists of several components:
- **`codemerge.py`**: Main MCP server implementation
- **`call_snippet.py`**: Direct usage interface with streaming support
- **`test_codemerge.py`**: Comprehensive test suite
- **`pyproject.toml`**: Project configuration and dependencies