Expand description
§MCPRS: Model Context Protocol para Rust
MCPRS é uma biblioteca que implementa o Model Context Protocol (MCP), um protocolo padronizado para comunicação com diferentes serviços de modelos de linguagem (LLMs) e IA.
§Funcionalidades Principais
- Protocolo Padronizado: Define um formato comum para mensagens trocadas com diferentes LLMs
- Sistema de Agentes: Abstração para integrações com diferentes APIs (OpenAI, DeepSeek, etc.)
- Servidor e Cliente: Implementações prontas para uso em aplicações
- Autenticação: Sistema de autenticação baseado em tokens
- Histórico de Conversas: Gerenciamento de contexto e histórico
- Streaming: Suporte para respostas incrementais em streaming
§Guia Rápido
§Cliente Simples
use mcprs::client::{create_mcp_message_for_agent, send_mcp_request};
use serde_json::json;
// Criar uma mensagem para o OpenAI
let message = create_mcp_message_for_agent(
"openai",
"chat",
json!({
"user_prompt": "Explique o que é Rust em poucas palavras"
})
);
// Enviar para um servidor MCP
let response = send_mcp_request("http://localhost:3000/mcp", &message).await?;
println!("Resposta: {}", response.payload["answer"]);§Servidor Básico
use mcprs::agent::AgentRegistry;
use mcprs::agent_openai::create_openai_agent;
use mcprs::server::run_http_server;
use std::net::SocketAddr;
// Configurar variável de ambiente
std::env::set_var("OPENAI_API_KEY", "sua-chave-aqui");
// Criar e configurar registro
let mut registry = AgentRegistry::new();
registry.register_agent(Box::new(create_openai_agent(None)));
// Iniciar servidor
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
run_http_server(registry, addr).await;§Módulos Principais
agent: Define a trait AIAgent e estruturas básicas do protocoloserver: Implementação do servidor HTTP para processar requisições MCPclient: Funções para enviar requisições MCPagent_openai: Implementação de agente para a API OpenAIagent_deepseek: Implementação de agente para a API DeepSeekauth: Sistema de autenticação para o servidorconversation: Gerenciamento de histórico de conversasstreaming: Suporte para respostas em streaming
Re-exports§
pub use agent::AIAgent;pub use agent::AgentRegistry;pub use agent::MCPError;pub use agent::MCPMessage;pub use auth::AuthConfig;pub use auth::AuthUser;pub use conversation::Conversation;pub use conversation::ConversationManager;pub use conversation::ConversationMessage;pub use streaming::StreamingToken;pub use streaming::TokenStream;pub use server::run_http_server;pub use server::run_http_server_with_auth;
Modules§
- agent
- Módulo de Agentes
- agent_
deepseek - Agente para integração com a API DeepSeek
- agent_
openai - Agente para integração com a API OpenAI
- auth
- Módulo de Autenticação
- client
- Módulo de Cliente MCP
- conversation
- Módulo de Gerenciamento de Conversas
- server
- Módulo de Servidor MCP
- streaming
- Módulo de Streaming
- testing
- Módulo de Utilitários de Teste