Sponsored by Deepsite.site

McpServer

Created By
Adriano-Severino7 months ago
Content

McpServer

Um servidor de implementação do Model Context Protocol (MCP) para integração com modelos de IA e gerenciamento de livros.

Visão Geral

O McpServer é uma solução completa para integrar modelos de IA do Ollama com uma API de gerenciamento de livros. O projeto implementa o protocolo MCP (Model Context Protocol) e oferece uma interface HTTP para execução de ferramentas via API.

O sistema é composto por três componentes principais:

  • McpServer: Implementação do protocolo MCP em .NET
  • Livros API: API para gerenciamento de dados de livros
  • Ollama: Serviço para execução de modelos de IA

Requisitos do Sistema

  • Docker e Docker Compose
  • .NET 9.0 (para desenvolvimento)
  • Pelo menos 8GB de RAM (recomendado 16GB para modelos de IA maiores)
  • 10GB de espaço em disco

Instalação e Execução

Método 1: Usando Docker Compose (Recomendado)

  1. Clone o repositório:

    git clone https://github.com/Adriano-Severino/McpServer.git
    cd McpServer
    
  2. Execute o sistema usando Docker Compose:

    docker-compose up -d
    
  3. Verifique se todos os serviços estão rodando:

    docker-compose ps
    

Método 2: Executando localmente (para desenvolvimento)

  1. Clone o repositório:

    git clone https://github.com/Adriano-Severino/McpServer.git
    cd McpServer
    
  2. Execute o Ollama localmente ou via Docker:

    docker run -d -p 11434:11434 -v ollama_data:/root/.ollama --name ollama ollama/ollama
    
  3. Execute a API de Livros:

    cd Livros
    dotnet run
    
  4. Configure as variáveis de ambiente para o McpServer:

    set OLLAMA_BASE_URL=http://localhost:11434
    set API_BASE_ADDRESS=http://localhost:5000/api/
    
  5. Execute o McpServer:

    cd McpServer
    dotnet run
    

Uso do Sistema

Uma vez que o sistema esteja em execução, você pode acessar:

Endpoints da API

Integração com Open WebUI

Para integrar com o Open WebUI:

  1. Inicie o Open WebUI (se não estiver usando o docker-compose completo):

    docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://localhost:11434 -e MCP_SERVER_URL=http://localhost:5500 ghcr.io/open-webui/open-webui:cuda
    
  2. Acesse o Open WebUI em: http://localhost:3000

  3. Configure a conexão com o MCP Server:

Ferramentas Disponíveis

O MCP Server oferece as seguintes ferramentas:

Gerenciamento de Livros

  • ObterAsync: Buscar livros com filtro opcional por título
  • ObterPorAutor: Buscar livros com filtro por autor
  • CadastrarAsync: Criar/cadastrar um novo livro
  • AtualizarAsync: Atualizar dados de um livro existente

Integração com Ollama

  • ListModels: Lista os modelos disponíveis no Ollama
  • GenerateResponse: Gera uma resposta usando um modelo do Ollama

Utilidades do Sistema

  • VerificarConectividade: Verifica a conectividade entre os componentes
  • ExibirConfiguracao: Exibe as configurações de conexão do MCP Server

Exemplos de Uso

Exemplo 1: Listar Livros

// POST para http://localhost:5500/api/execute
{
  "tool": "ObterAsync",
  "parameters": {
    "titulo": "O Senhor dos Anéis"
  }
}

Exemplo 2: Cadastrar um Livro

// POST para http://localhost:5500/api/execute
{
  "tool": "CadastrarAsync",
  "parameters": {
    "livro": {
      "titulo": "O Hobbit",
      "autor": "J.R.R. Tolkien",
      "anoPublicacao": 1937,
      "genero": "Fantasia"
    }
  }
}

Exemplo 3: Gerar Resposta com Ollama

// POST para http://localhost:5500/api/execute
{
  "tool": "GenerateResponse",
  "parameters": {
    "model": "llama3",
    "prompt": "Escreva um resumo sobre O Senhor dos Anéis"
  }
}

Configuração

Variáveis de Ambiente

Solução de Problemas

Problemas de Conectividade

Se encontrar problemas de conectividade entre os serviços:

  1. Verifique se todos os contêineres estão em execução:

    docker-compose ps
    
  2. Use a ferramenta de verificação de conectividade:

    // POST para http://localhost:5500/api/execute
    {
      "tool": "VerificarConectividade",
      "parameters": {}
    }
    
  3. Verifique os logs dos contêineres:

    docker-compose logs mcpserver
    docker-compose logs livros-api
    docker-compose logs ollama
    

Problemas com Modelos Ollama

Se os modelos não estiverem carregando:

  1. Verifique se o Ollama está em execução
  2. Verifique se o modelo está disponível no Ollama:
    docker exec -it ollama ollama list
    
  3. Baixe um modelo se necessário:
    docker exec -it ollama ollama pull llama3
    

Arquitetura do Sistema

┌─────────────┐     ┌──────────────┐     ┌───────────┐
│  Open WebUI │────►│  MCP Server  │────►│  Ollama   │
└─────────────┘     └──────────────┘     └───────────┘
                    ┌──────────────┐
                    │  Livros API  │
                    └──────────────┘

Desenvolvimento

Para contribuir com o projeto:

  1. Faça um fork do repositório
  2. Crie uma branch para sua feature (git checkout -b feature/nome-da-feature)
  3. Faça commit das alterações (git commit -am 'Adiciona funcionalidade X')
  4. Faça push para a branch (git push origin feature/nome-da-feature)
  5. Crie um Pull Request
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
WindsurfThe new purpose-built IDE to harness magic
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Amap Maps高德地图官方 MCP Server
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Playwright McpPlaywright MCP server
Serper MCP ServerA Serper MCP Server
DeepChatYour AI Partner on Desktop
ChatWiseThe second fastest AI chatbot™
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
CursorThe AI Code Editor
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Tavily Mcp
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.