Skip to main content
Glama

LibreModel MCP Server ๐Ÿค–

A Model Context Protocol (MCP) server that bridges Claude Desktop with your local LLM instance running via llama-server.

Features

  • ๐Ÿ’ฌ Full conversation support with Local Model through Claude Desktop

  • ๐ŸŽ›๏ธ Complete parameter control (temperature, max_tokens, top_p, top_k)

  • โœ… Health monitoring and server status checks

  • ๐Ÿงช Built-in testing tools for different capabilities

  • ๐Ÿ“Š Performance metrics and token usage tracking

  • ๐Ÿ”ง Easy configuration via environment variables

Related MCP server: Llama 4 Maverick MCP Server

Quick Start

npm install @openconstruct/llama-mcp-server

A Model Context Protocol (MCP) server that bridges Claude Desktop with your local LLM instance running via llama-server.

Features

  • ๐Ÿ’ฌ Full conversation support with LibreModel through Claude Desktop

  • ๐ŸŽ›๏ธ Complete parameter control (temperature, max_tokens, top_p, top_k)

  • โœ… Health monitoring and server status checks

  • ๐Ÿงช Built-in testing tools for different capabilities

  • ๐Ÿ“Š Performance metrics and token usage tracking

  • ๐Ÿ”ง Easy configuration via environment variables

Quick Start

1. Install Dependencies

cd llama-mcp
npm install

2. Build the Server

npm run build

3. Start Your LibreModel

Make sure llama-server is running with your model:

./llama-server -m lm37.gguf -c 2048 --port 8080

4. Configure Claude Desktop

Add this to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "libremodel": {
      "command": "node",
      "args": ["/home/jerr/llama-mcp/dist/index.js"]
    }
  }
}

5. Restart Claude Desktop

Claude will now have access to LibreModel through MCP!

Usage

Once configured, you can use these tools in Claude Desktop:

๐Ÿ’ฌ chat - Main conversation tool

Use the chat tool to ask LibreModel: "What is your name and what can you do?"

๐Ÿงช quick_test - Test LibreModel capabilities

Run a quick_test with type "creative" to see if LibreModel can write poetry

๐Ÿฅ health_check - Monitor server status

Use health_check to see if LibreModel is running properly

Configuration

Set environment variables to customize behavior:

export LLAMA_SERVER_URL="http://localhost:8080"  # Default llama-server URL

Available Tools

Tool

Description

Parameters

chat

Converse with MOdel

message, temperature, max_tokens, top_p, top_k, system_prompt

quick_test

Run predefined capability tests

test_type (hello/math/creative/knowledge)

health_check

Check server health and status

None

Resources

  • Configuration: View current server settings

  • Instructions: Detailed usage guide and setup instructions

Development

# Install dependencies
npm install # LibreModel MCP Server ๐Ÿค–

A Model Context Protocol (MCP) server that bridges Claude Desktop with your local LLM instance running via llama-server.

## Features

- ๐Ÿ’ฌ **Full conversation support** with LibreModel through Claude Desktop
- ๐ŸŽ›๏ธ **Complete parameter control** (temperature, max_tokens, top_p, top_k)
- โœ… **Health monitoring** and server status checks
- ๐Ÿงช **Built-in testing tools** for different capabilities
- ๐Ÿ“Š **Performance metrics** and token usage tracking
- ๐Ÿ”ง **Easy configuration** via environment variables

## Quick Start

### 1. Install Dependencies

```bash
cd llama-mcp
npm install

2. Build the Server

npm run build

3. Start Your LibreModel

Make sure llama-server is running with your model:

./llama-server -m lm37.gguf -c 2048 --port 8080

4. Configure Claude Desktop

Add this to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "libremodel": {
      "command": "node",
      "args": ["/home/jerr/llama-mcp/dist/index.js"]
    }
  }
}

5. Restart Claude Desktop

Claude will now have access to LibreModel through MCP!

Usage

Once configured, you can use these tools in Claude Desktop:

๐Ÿ’ฌ chat - Main conversation tool

Use the chat tool to ask LibreModel: "What is your name and what can you do?"

๐Ÿงช quick_test - Test LibreModel capabilities

Run a quick_test with type "creative" to see if LibreModel can write poetry

๐Ÿฅ health_check - Monitor server status

Use health_check to see if LibreModel is running properly

Configuration

Set environment variables to customize behavior:

export LLAMA_SERVER_URL="http://localhost:8080"  # Default llama-server URL

Available Tools

Tool

Description

Parameters

chat

Converse with MOdel

message, temperature, max_tokens, top_p, top_k, system_prompt

quick_test

Run predefined capability tests

test_type (hello/math/creative/knowledge)

health_check

Check server health and status

None

Resources

  • Configuration: View current server settings

  • Instructions: Detailed usage guide and setup instructions

Development

# Install dependencies
npm install openconstruct/llama-mcp-server


# Development mode (auto-rebuild)
npm run dev

# Build for production
npm run build

# Start the server directly
npm start

Architecture

Claude Desktop โ†โ†’ LLama MCP Server โ†โ†’ llama-server API โ†โ†’ Local Model

The MCP server acts as a bridge, translating MCP protocol messages into llama-server API calls and formatting responses for Claude Desktop.

Troubleshooting

"Cannot reach LLama server"

  • Ensure llama-server is running on the configured port

  • Check that the model is loaded and responding

  • Verify firewall/network settings

"Tool not found in Claude Desktop"

  • Restart Claude Desktop after configuration changes

  • Check that the path to index.js is correct and absolute

  • Verify the MCP server builds without errors

Poor response quality

  • Adjust temperature and sampling parameters

  • Try different system prompts

License

CC0-1.0 - Public Domain. Use freely!


Built with โค๏ธ for open-source AI and the LibreModel project. by Claude Sonnet4

Development mode (auto-rebuild)

npm run dev

Build for production

npm run build

Start the server directly

npm start


## Architecture

Claude Desktop โ†โ†’ LLama MCP Server โ†โ†’ llama-server API โ†โ†’ Local Model


The MCP server acts as a bridge, translating MCP protocol messages into llama-server API calls and formatting responses for Claude Desktop.

## Troubleshooting

**"Cannot reach LLama server"**
- Ensure llama-server is running on the configured port
- Check that the model is loaded and responding
- Verify firewall/network settings

**"Tool not found in Claude Desktop"**
- Restart Claude Desktop after configuration changes
- Check that the path to `index.js` is correct and absolute
- Verify the MCP server builds without errors

**Poor response quality**
- Adjust temperature and sampling parameters
- Try different system prompts

## License

CC0-1.0 - Public Domain. Use freely!

---

Built with โค๏ธ for open-source AI and the LibreModel project. by Claude Sonnet4

### 1. Install Dependencies

```bash
cd llama-mcp
npm install

2. Build the Server

npm run build

3. Start Your LibreModel

Make sure llama-server is running with your model:

./llama-server -m lm37.gguf -c 2048 --port 8080

4. Configure Claude Desktop

Add this to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "libremodel": {
      "command": "node",
      "args": ["/home/jerr/llama-mcp/dist/index.js"]
    }
  }
}

5. Restart Claude Desktop

Claude will now have access to LibreModel through MCP!

Usage

Once configured, you can use these tools in Claude Desktop:

๐Ÿ’ฌ chat - Main conversation tool

Use the chat tool to ask LibreModel: "What is your name and what can you do?"

๐Ÿงช quick_test - Test LibreModel capabilities

Run a quick_test with type "creative" to see if LibreModel can write poetry

๐Ÿฅ health_check - Monitor server status

Use health_check to see if LibreModel is running properly

Configuration

Set environment variables to customize behavior:

export LLAMA_SERVER_URL="http://localhost:8080"  # Default llama-server URL

Available Tools

Tool

Description

Parameters

chat

Converse with MOdel

message, temperature, max_tokens, top_p, top_k, system_prompt

quick_test

Run predefined capability tests

test_type (hello/math/creative/knowledge)

health_check

Check server health and status

None

Resources

  • Configuration: View current server settings

  • Instructions: Detailed usage guide and setup instructions

Development

# Install dependencies
npm install

# Development mode (auto-rebuild)
npm run dev

# Build for production
npm run build

# Start the server directly
npm start

Architecture

Claude Desktop โ†โ†’ LLama MCP Server โ†โ†’ llama-server API โ†โ†’ Local Model

The MCP server acts as a bridge, translating MCP protocol messages into llama-server API calls and formatting responses for Claude Desktop.

Troubleshooting

"Cannot reach LLama server"

  • Ensure llama-server is running on the configured port

  • Check that the model is loaded and responding

  • Verify firewall/network settings

"Tool not found in Claude Desktop"

  • Restart Claude Desktop after configuration changes

  • Check that the path to index.js is correct and absolute

  • Verify the MCP server builds without errors

Poor response quality

  • Adjust temperature and sampling parameters

  • Try different system prompts

License

CC0-1.0 - Public Domain. Use freely!


Built with โค๏ธ for open-source AI and the LibreModel project. by Claude Sonnet4

Available Tools

3 tools
chatChat with LibreModelC

Have a conversation with LibreModel (Gigi)

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesYour message to LibreModel
temperatureNoSampling temperature (0.0-2.0)
max_tokensNoMaximum tokens to generate
top_pNoNucleus sampling parameter
top_kNoTop-k sampling parameter
system_promptNoOptional system prompt to prefix the conversation

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It mentions 'conversation' but doesn't describe response format, rate limits, authentication needs, conversation state management, or potential side effects. For a chat tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just 5 words ('Have a conversation with LibreModel (Gigi)'). It's front-loaded with the core purpose and contains no wasted words or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a chat tool with 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, how conversations are structured, whether there's session management, or any behavioral characteristics. The agent would need to guess about important operational aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so all parameters are documented in the schema. The tool description adds no parameter-specific information beyond what's in the schema. According to the rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Have a conversation with LibreModel (Gigi)', which is a specific verb (chat/converse) with a resource (LibreModel/Gigi). However, it doesn't distinguish this tool from potential alternatives like 'quick_test' or 'health_check' that might also interact with the model, so it lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools 'health_check' or 'quick_test'. There's no mention of appropriate contexts, prerequisites, or exclusions. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkCheck LibreModel Server HealthB

Check if the llama-server is running and responsive

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks if the server is 'running and responsive,' which implies a read-only, non-destructive operation, but it doesn't specify details like response format, error handling, timeouts, or what 'responsive' entails. This leaves gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence: 'Check if the llama-server is running and responsive.' It's front-loaded with the core purpose, has no unnecessary words, and efficiently conveys the essential information without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but has gaps. It explains the basic purpose but lacks details on behavioral aspects like what the check entails or output expectations. For a health check tool, more context on response behavior would improve completeness, but it meets the minimum viable threshold.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied since the schema fully covers the lack of parameters, and the description doesn't introduce confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check if the llama-server is running and responsive.' It specifies the verb ('Check') and resource ('llama-server'), making it understandable. However, it doesn't explicitly distinguish this from sibling tools like 'chat' or 'quick_test', which might also involve server interaction, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like pre-operation verification, troubleshooting, or how it differs from siblings such as 'chat' or 'quick_test'. Without this context, users must infer usage based on the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quick_testQuick LibreModel TestB

Run a quick test to see if LibreModel is responding

ParametersJSON Schema
NameRequiredDescriptionDefault
test_typeNoType of test to runhello

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states it tests responsiveness. It doesn't disclose what 'responding' entails (e.g., latency expectations, success criteria), whether it's read-only or has side effects, or what happens with different test types. This leaves significant behavioral gaps for a tool with multiple test options.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that immediately states the tool's purpose. Every word earns its place with no redundancy or unnecessary elaboration, making it appropriately sized and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and multiple test types, the description is insufficient. It doesn't explain what different test types do, what output to expect, or how to interpret results. The context signals show complexity (enum parameter) that isn't addressed, leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the parameter 'test_type' fully documented in the schema (enum values, default). The description adds no parameter-specific information beyond implying all types test responsiveness. Since the schema does the heavy lifting, the baseline 3 is appropriate despite the description's minimal contribution.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Run a quick test') and the target ('LibreModel'), specifying the purpose as checking responsiveness. It distinguishes from 'health_check' by focusing on functional testing rather than system status, but doesn't explicitly differentiate from 'chat' beyond the testing context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing to verify LibreModel's responsiveness, but provides no explicit guidance on when to choose this tool over 'health_check' or 'chat'. The 'quick' qualifier suggests it's for lightweight verification, but alternatives and exclusions aren't addressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • Changedhealth_check1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 3 tool updates
    • First observedchat
    • First observedhealth_check
    • First observedquick_test

TDQS

C2.8/5.0
Disambiguation2/5

The tools have overlapping purposes that could cause confusion. 'chat' and 'quick_test' both involve interacting with LibreModel to check responsiveness, making them ambiguous. 'health_check' is more distinct but still overlaps in verifying server status.

Naming Consistency4/5

The naming follows a consistent snake_case pattern across all tools, which is clear and readable. However, the verb styles are mixed ('chat' is a noun-like verb, 'health_check' and 'quick_test' are noun-based), slightly reducing consistency.

Tool Count2/5

With only 3 tools, the set feels thin for a model server, lacking essential operations like model loading, configuration, or inference control. This minimal count suggests an incomplete surface for the domain.

Completeness1/5

The tool set is severely incomplete for a model server. There are no tools for core functions such as loading models, managing sessions, adjusting parameters, or handling inputs/outputs beyond basic chat and health checks, leaving significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A bridge that allows Claude to communicate with locally running LLM models via LM Studio, enabling users to leverage their private models through Claude's interface.
    168
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Bridges Llama models with Claude Desktop through Ollama, enabling privacy-first local AI operations with 10+ built-in tools for file operations, web search, calculations, and custom model deployment. Features streaming support, hybrid intelligence workflows, and extensive Python ecosystem integration for research, development, and enterprise applications.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A bridge that enables Claude Code to interact with local Ollama instances for text generation, multi-turn chat, and vision-based analysis. It supports model management tasks such as listing, pulling, and showing details, alongside generating text embeddings.
    488
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/openconstruct/llama-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server