LLMling
Um servidor MCP com um backend LLMling que utiliza arquivos YAML para configurar aplicações de LLM.
Documentação
mcp-server-llmling
Manual do Servidor LLMling
Visão Geral
mcp-server-llmling é um servidor para o Protocolo de Chat de Máquina (MCP) que fornece um sistema de configuração baseado em YAML para aplicações LLM.
LLMLing, o backend, fornece um sistema de configuração baseado em YAML para aplicações LLM. Ele permite configurar servidores MCP personalizados que servem conteúdo definido em arquivos YAML.
- Declaração Estática: Defina o ambiente do seu LLM em YAML - sem necessidade de código
- Protocolo MCP: Construído sobre o Protocolo de Chat de Máquina (MCP) para interação padronizada com LLM
- Tipos de Componentes:
- Recursos: Provedores de conteúdo (arquivos, texto, saída de CLI, etc.)
- Prompts: Modelos de mensagem com argumentos
- Ferramentas: Funções Python chamáveis pelo LLM
A configuração YAML cria um ambiente completo que fornece ao LLM:
- Acesso a conteúdo via recursos
- Prompts estruturados para interação consistente
- Ferramentas para estender capacidades
Principais Recursos
1. Gerenciamento de Recursos
- Carregar e gerenciar diferentes tipos de recursos:
- Arquivos de texto (
PathResource) - Conteúdo de texto bruto (
TextResource) - Saída de comando CLI (
CLIResource) - Código-fonte Python (
SourceResource) - Resultados de chamáveis Python (
CallableResource) - Imagens (
ImageResource)
- Arquivos de texto (
- Suporte para monitoramento de recursos / hot-reload
- Pipelines de processamento de recursos
- Acesso a recursos baseado em URI
2. Sistema de Ferramentas
- Registrar e executar funções Python como ferramentas LLM
- Suporte para ferramentas baseadas em OpenAPI
- Descoberta de ferramentas baseada em pontos de entrada
- Validação de ferramentas e verificação de parâmetros
- Respostas estruturadas de ferramentas
3. Gerenciamento de Prompts
- Prompts estáticos com suporte a modelos
- Prompts dinâmicos a partir de funções Python
- Prompts baseados em arquivos
- Validação de argumentos de prompt
- Sugestões de conclusão para argumentos de prompt
4. Múltiplas Opções de Transporte
- Comunicação baseada em Stdio (padrão)
- Server-Sent Events (SSE) / HTTP transmissível para clientes web
- Suporte para implementações de transporte personalizadas
Uso
Com o Editor Zed
Adicione LLMLing como um servidor de contexto no seu settings.json:
{
"context_servers": {
"llmling": {
"command": {
"env": {},
"label": "llmling",
"path": "uvx",
"args": [
"mcp-server-llmling",
"start",
"path/to/your/config.yml"
]
},
"settings": {}
}
}
}
Com o Claude Desktop
Configure LLMLing no seu claude_desktop_config.json:
{
"mcpServers": {
"llmling": {
"command": "uvx",
"args": [
"mcp-server-llmling",
"start",
"path/to/your/config.yml"
],
"env": {}
}
}
}
Início Manual do Servidor
Inicie o servidor diretamente da linha de comando:
# Latest version
uvx mcp-server-llmling@latest
1. Uso programático
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())
2. Usando Transporte Personalizado
from llmling import RuntimeConfig
from mcp_server_llmling import LLMLingServer
async def main() -> None:
async with RuntimeConfig.open(config) as runtime:
server = LLMLingServer(
config,
transport="sse",
transport_options={
"host": "localhost",
"port": 3001,
"cors_origins": ["http://localhost:3000"]
}
)
await server.start()
asyncio.run(main())
3. Configuração de Recursos
resources:
python_code:
type: path
path: "./src/**/*.py"
watch:
enabled: true
patterns:
- "*.py"
- "!**/__pycache__/**"
api_docs:
type: text
content: |
API Documentation
================
...
4. Configuração de Ferramentas
tools:
analyze_code:
import_path: "mymodule.tools.analyze_code"
description: "Analyze Python code structure"
toolsets:
api:
type: openapi
spec: "https://api.example.com/openapi.json"
[!TIP] Para esquemas OpenAPI, você pode instalar o Redocly CLI para agrupar e resolver especificações OpenAPI antes de usá-las com LLMLing. Isso ajuda a garantir que as referências do seu esquema sejam resolvidas corretamente e que a especificação esteja formatada corretamente. Se o redocly estiver instalado, ele será usado automaticamente.
Configuração do Servidor
O servidor é configurado através de um arquivo YAML com as seguintes seções:
global_settings:
timeout: 30
max_retries: 3
log_level: "INFO"
requirements: []
pip_index_url: null
extra_paths: []
resources:
# Resource definitions...
tools:
# Tool definitions...
toolsets:
# Toolset definitions...
prompts:
# Prompt definitions...
Protocolo MCP
O servidor implementa o protocolo MCP que suporta:
-
Operações de Recursos
- Listar recursos disponíveis
- Ler conteúdo de recursos
- Observar mudanças em recursos
-
Operações de Ferramentas
- Listar ferramentas disponíveis
- Executar ferramentas com parâmetros
- Obter esquemas de ferramentas
-
Operações de Prompt
- Listar prompts disponíveis
- Obter prompts formatados
- Obter conclusões para argumentos de prompt
-
Notificações
- Mudanças em recursos
- Atualizações de lista de ferramentas/prompts
- Atualizações de progresso
- Mensagens de log