Osmosis-Apply-1.7B-MCP

Osmosis-Apply-1.7B-MCP

3.5

If you are the rightful owner of Osmosis-Apply-1.7B-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

CodeMerge is a Model Context Protocol (MCP) server that leverages the Osmosis-Apply-1.7B model to efficiently merge code edits.

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 installed and running
  • The Osmosis model pulled: ollama pull Osmosis/Osmosis-Apply-1.7B

Setup

  1. Clone the repository:
git clone <repository-url>
cd codemerge
  1. Install dependencies using uv:
uv sync
  1. Run:
uv run python codemerge.py

Usage

As an MCP Server

CodeMerge can be used as an MCP server. Configure it in your MCP client:

{
  "mcpServers": {
    "codemerge": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/codemerge",
        "run",
        "codemerge.py"
      ]
    }
  }
}

Direct Usage

You can also use CodeMerge directly in 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:

{
  "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