llmling.com
llmling.com logo

LLMling

Provides a YAML-based configuration system for LLM applications, enabling declarative setup of custom environments with...

Created byApr 23, 2025

mcp-server-llmling

[![PyPI License](https://img.shields.io/pypi/l/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Package status](https://img.shields.io/pypi/status/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Daily downloads](https://img.shields.io/pypi/dd/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Weekly downloads](https://img.shields.io/pypi/dw/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Monthly downloads](https://img.shields.io/pypi/dm/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Distribution format](https://img.shields.io/pypi/format/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Wheel availability](https://img.shields.io/pypi/wheel/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Python version](https://img.shields.io/pypi/pyversions/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Implementation](https://img.shields.io/pypi/implementation/mcp-server-llmling.svg)](https://pypi.org/project/mcp-server-llmling/) [![Releases](https://img.shields.io/github/downloads/phil65/mcp-server-llmling/total.svg)](https://github.com/phil65/mcp-server-llmling/releases) [![Github Contributors](https://img.shields.io/github/contributors/phil65/mcp-server-llmling)](https://github.com/phil65/mcp-server-llmling/graphs/contributors) [![Github Discussions](https://img.shields.io/github/discussions/phil65/mcp-server-llmling)](https://github.com/phil65/mcp-server-llmling/discussions) [![Github Forks](https://img.shields.io/github/forks/phil65/mcp-server-llmling)](https://github.com/phil65/mcp-server-llmling/forks) [![Github Issues](https://img.shields.io/github/issues/phil65/mcp-server-llmling)](https://github.com/phil65/mcp-server-llmling/issues) [![Github Issues](https://img.shields.io/github/issues-pr/phil65/mcp-server-llmling)](https://github.com/phil65/mcp-server-llmling/pulls) [![
[Read the documentation!](https://phil65.github.io/mcp-server-llmling/)

LLMling Server Manual

Overview

mcp-server-llmling is a server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications.
[LLMLing](https://phil65.github.io/LLMling/), the backend, provides a YAML-based configuration system for LLM applications. It allows to set up custom MCP servers serving content defined in YAML files.
  • **Static Declaration**: Define your LLM's environment in YAML - no code required
  • **MCP Protocol**: Built on the Machine Chat Protocol (MCP) for standardized LLM interaction
  • **Component Types**: - **Resources**: Content providers (files, text, CLI output, etc.) - **Prompts**: Message templates with arguments - **Tools**: Python functions callable by the LLM
The YAML configuration creates a complete environment that provides the LLM with:
  • Access to content via resources
  • Structured prompts for consistent interaction
  • Tools for extending capabilities

Key Features

1. Resource Management

  • Load and manage different types of resources: - Text files (`PathResource`) - Raw text content (`TextResource`) - CLI command output (`CLIResource`) - Python source code (`SourceResource`) - Python callable results (`CallableResource`) - Images (`ImageResource`)
  • Support for resource watching/hot-reload
  • Resource processing pipelines
  • URI-based resource access

2. Tool System

  • Register and execute Python functions as LLM tools
  • Support for OpenAPI-based tools
  • Entry point-based tool discovery
  • Tool validation and parameter checking
  • Structured tool responses

3. Prompt Management

  • Static prompts with template support
  • Dynamic prompts from Python functions
  • File-based prompts
  • Prompt argument validation
  • Completion suggestions for prompt arguments

4. Multiple Transport Options

  • Stdio-based communication (default)
  • Server-Sent Events (SSE) for web clients
  • Support for custom transport implementations

Usage

With Zed Editor

Add LLMLing as a context server in your `settings.json`:

With Claude Desktop

Configure LLMLing in your `claude_desktop_config.json`:

Manual Server Start

Start the server directly from command line:

1. Programmatic usage

2. Using Custom Transport

3. Resource Configuration

4. Tool Configuration

Server Configuration

The server is configured through a YAML file with the following sections:

MCP Protocol

The server implements the MCP protocol which supports:
  1. **Resource Operations** - List available resources - Read resource content - Watch for resource changes
  1. **Tool Operations** - List available tools - Execute tools with parameters - Get tool schemas
  1. **Prompt Operations** - List available prompts - Get formatted prompts - Get completions for prompt arguments
  1. **Notifications** - Resource changes - Tool/prompt list updates - Progress updates - Log messages