mcp-server-llmling

mcp-server-llmling

site icon
2025.03.27 5
PythonLLM 配置YAML 配置系统开发效率
mcp-server-llmling 是一个基于 Machine Chat Protocol (MCP) 的服务器,专为 LLM(大型语言模型)应用提供 YAML 配置系统。它允许用户通过 YAML 文件定义 LLM 的环境,包括资源管理、工具系统和提示管理,无需编写代码即可实现复杂的 LLM 交互功能。
View on GitHub

Overview

基本能力

产品定位

mcp-server-llmling 是一个为 LLM 应用提供配置和交互支持的服务器,通过 YAML 文件定义资源、工具和提示,简化 LLM 的集成和使用。

核心功能

  1. 资源管理:支持多种资源类型(文本文件、原始文本、CLI 输出、Python 代码、可调用函数、图像等),支持资源热重载和 URI 访问。
  2. 工具系统:注册和执行 Python 函数作为 LLM 工具,支持 OpenAPI 工具和工具验证。
  3. 提示管理:静态和动态提示模板,支持参数验证和自动补全。
  4. 多传输选项:支持 Stdio、Server-Sent Events (SSE) 和自定义传输实现。

适用场景

  1. LLM 应用开发:快速配置 LLM 环境,集成资源和工具。
  2. 自动化任务:通过 CLI 或 Python 脚本调用 LLM 功能。
  3. 编辑器集成:与 Zed Editor 或 Claude Desktop 等工具集成,提供上下文支持。

工具列表

  1. 资源工具:管理文件、文本、CLI 输出等资源。
  2. Python 工具:调用 Python 函数扩展 LLM 能力。
  3. OpenAPI 工具:集成外部 API 服务。

常见问题解答

  1. 资源加载失败:检查文件路径和权限。
  2. 工具执行错误:验证工具参数和依赖。
  3. 传输问题:确保传输协议配置正确。

使用教程

使用依赖

安装 Python 3.7+ 和 uvx 工具:

pip install uvx

安装教程

通过 uvx 安装最新版本:

uvx mcp-server-llmling@latest

调试方式

启动服务器并检查日志:

uvx mcp-server-llmling start path/to/config.yml

程序化使用

from llmling import RuntimeConfig
from mcp_server_llmling import LLMLingServer

async def main() -> None:
    async with RuntimeConfig.open(config) as runtime:
        server = LLMLingServer(runtime, enable_injection=True)
        await server.start()

asyncio.run(main())

自定义传输

server = LLMLingServer(
    config,
    transport="sse",
    transport_options={
        "host": "localhost",
        "port": 8000,
        "cors_origins": ["http://localhost:3000"]
    }
)

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。