Ollama MCP is a tool for connecting Ollama-based language models with external tools and services using the Model Context Protocol (MCP). This integration enables LLMs to interact with various systems like Git repositories, shell commands, and other tool-enabled services.
- Seamless integration between Ollama language models and MCP servers
- Support for Git operations through MCP Git server
- Extensible tool management system
- Interactive command-line assistant interface
- Interactive Ollama model selection at startup from available local models
- Ensure you have Python 3.13+ installed
- Clone this repository
- Install dependencies:
# Create a virtual environment
uv add ruff check
# Activate the virtual environment
source .venv/bin/activate
# Install the package in development mode
uv pip install -e .
Before the main application starts, you will be prompted to select an Ollama model to use.
-
Prerequisites:
- Ensure Ollama is installed and running.
- You must have at least one model pulled locally (e.g., via
ollama pull llama3.1:8b
). A list of models that support tool usage can be found on the Ollama website.
-
Startup Process:
- The application will automatically detect and list all Ollama models available on your local machine.
- You will be prompted to type the name of the model you wish to use from the displayed list.
- If you enter an invalid model name, you will be prompted again until a valid selection is made.
- The chosen model will then be used by the agent for all subsequent operations.
uv run main.py
pytest -xvs tests/test_ollama_toolmanager.py
This will start an interactive CLI where you can ask the assistant to perform Git operations.
You can extend the system by:
- Creating new tool wrappers
- Registering them with the
OllamaToolManager
- Connecting to different MCP servers
- OllamaToolManager: Manages tool registrations and execution
- MCPClient: Handles communication with MCP servers
- OllamaAgent: Orchestrates Ollama LLM and tool usage
# Creating a Git-enabled agent
git_params = StdioServerParameters(
command="uvx",
args=["mcp-server-git", "--repository", "/path/to/repo"],
env=None
)
# Connect and register tools
async with MCPClient(git_params) as client:
# Register tools with the agent
# Use the agent for Git operations
- Python 3.13+
- MCP 1.5.0+
- Ollama 0.4.7+