Discover Awesome MCP Servers

Extend your agent with 26,654 capabilities via MCP servers.

All26,654
Refunc MCP Server

Refunc MCP Server

Servidor de Protocolo de Contexto do Modelo Refunc

Mealie MCP Server

Mealie MCP Server

Enables AI assistants to interact with Mealie recipe databases, allowing users to manage and query their recipes through natural language conversations.

WhatsApp Business API MCP Server

WhatsApp Business API MCP Server

🔒 Minimal GitHub OAuth-enabled MCP Server

🔒 Minimal GitHub OAuth-enabled MCP Server

Aqui está uma demonstração rápida de um servidor MCP que usa o GitHub OAuth para autenticar usuários: ```python from flask import Flask, redirect, request, session, url_for from flask_session import Session import os import requests app = Flask(__name__) app.config['SESSION_TYPE'] = 'filesystem' # Ou 'redis', 'mongodb', etc. app.config['SECRET_KEY'] = os.urandom(24) # Chave secreta para segurança da sessão Session(app) # Substitua com suas credenciais do GitHub OAuth GITHUB_CLIENT_ID = os.environ.get('GITHUB_CLIENT_ID') # Obtenha do ambiente GITHUB_CLIENT_SECRET = os.environ.get('GITHUB_CLIENT_SECRET') # Obtenha do ambiente GITHUB_REDIRECT_URI = 'http://localhost:5000/callback' # Ajuste para sua URL de callback @app.route('/') def index(): if 'github_token' in session: return f"Logado com GitHub! <a href='/logout'>Logout</a>" else: return f"Não logado. <a href='/login'>Login com GitHub</a>" @app.route('/login') def login(): return redirect(f'https://github.com/login/oauth/authorize?client_id={GITHUB_CLIENT_ID}&redirect_uri={GITHUB_REDIRECT_URI}&scope=user:email') @app.route('/callback') def callback(): code = request.args.get('code') if code: # Troca o código por um token de acesso token_url = 'https://github.com/login/oauth/access_token' data = { 'client_id': GITHUB_CLIENT_ID, 'client_secret': GITHUB_CLIENT_SECRET, 'code': code, 'redirect_uri': GITHUB_REDIRECT_URI } headers = {'Accept': 'application/json'} response = requests.post(token_url, data=data, headers=headers) response_data = response.json() if 'access_token' in response_data: session['github_token'] = response_data['access_token'] return redirect(url_for('index')) else: return "Falha ao obter o token de acesso." return "Código de autorização ausente." @app.route('/logout') def logout(): session.pop('github_token', None) return redirect(url_for('index')) if __name__ == '__main__': app.run(debug=True) ``` **Explicação:** 1. **Configuração:** - Importa as bibliotecas necessárias: `Flask` para o servidor web, `requests` para fazer requisições HTTP, `session` para gerenciar sessões de usuário e `os` para acessar variáveis de ambiente. - Configura o Flask: - `SESSION_TYPE`: Define onde os dados da sessão serão armazenados (neste caso, no sistema de arquivos). Outras opções incluem Redis, MongoDB, etc. - `SECRET_KEY`: Uma chave secreta usada para assinar cookies de sessão para segurança. Gere uma chave aleatória forte. - Define as credenciais do GitHub OAuth: - `GITHUB_CLIENT_ID`: O ID do cliente da sua aplicação GitHub OAuth. - `GITHUB_CLIENT_SECRET`: O segredo do cliente da sua aplicação GitHub OAuth. - `GITHUB_REDIRECT_URI`: A URL para onde o GitHub redirecionará o usuário após a autorização. Deve corresponder à URL configurada na sua aplicação GitHub OAuth. **Importante:** Para testes locais, `http://localhost:5000/callback` geralmente funciona, mas em produção, você precisará usar uma URL HTTPS. Certifique-se de que a URL de callback esteja configurada corretamente na sua aplicação GitHub OAuth. 2. **Rotas:** - `/`: A página inicial. Verifica se o usuário está logado (se `github_token` está na sessão). Se estiver, exibe uma mensagem de boas-vindas e um link para logout. Caso contrário, exibe um link para login com o GitHub. - `/login`: Redireciona o usuário para a página de autorização do GitHub. Inclui o `client_id`, `redirect_uri` e `scope` (permissões solicitadas). `scope=user:email` solicita acesso ao endereço de e-mail do usuário. - `/callback`: A rota para onde o GitHub redireciona o usuário após a autorização. - Obtém o `code` (código de autorização) da query string. - Se o `code` estiver presente: - Faz uma requisição POST para o endpoint `https://github.com/login/oauth/access_token` para trocar o `code` por um token de acesso. - Inclui o `client_id`, `client_secret`, `code` e `redirect_uri` no corpo da requisição. - Define o cabeçalho `Accept` para `application/json` para receber a resposta em formato JSON. - Se a resposta contiver um `access_token`: - Armazena o `access_token` na sessão (`session['github_token']`). - Redireciona o usuário para a página inicial (`/`). - Caso contrário, exibe uma mensagem de erro. - Se o `code` estiver ausente, exibe uma mensagem de erro. - `/logout`: Remove o `github_token` da sessão e redireciona o usuário para a página inicial. 3. **Execução:** - `if __name__ == '__main__':`: Garante que o servidor seja executado apenas quando o script for executado diretamente (e não quando for importado como um módulo). - `app.run(debug=True)`: Inicia o servidor Flask no modo de depuração. O modo de depuração permite recarregamento automático do servidor quando o código é alterado e exibe mensagens de erro detalhadas. **Não use `debug=True` em produção.** **Como usar:** 1. **Crie uma aplicação GitHub OAuth:** - Vá para [https://github.com/settings/developers](https://github.com/settings/developers). - Clique em "OAuth Apps" e depois em "New OAuth App". - Preencha os detalhes da sua aplicação: - **Application name:** O nome da sua aplicação. - **Homepage URL:** A URL da sua aplicação (por exemplo, `http://localhost:5000`). - **Authorization callback URL:** A URL para onde o GitHub redirecionará o usuário após a autorização (por exemplo, `http://localhost:5000/callback`). **Esta URL deve corresponder ao `GITHUB_REDIRECT_URI` no seu código.** - Clique em "Register application". - Anote o **Client ID** e o **Client Secret**. 2. **Configure as variáveis de ambiente:** - Defina as variáveis de ambiente `GITHUB_CLIENT_ID` e `GITHUB_CLIENT_SECRET` com os valores que você obteve da sua aplicação GitHub OAuth. A maneira de definir variáveis de ambiente depende do seu sistema operacional. Por exemplo, no Linux/macOS: ```bash export GITHUB_CLIENT_ID="seu_client_id" export GITHUB_CLIENT_SECRET="seu_client_secret" ``` Ou, você pode usar um arquivo `.env` e a biblioteca `python-dotenv`: ```python from dotenv import load_dotenv load_dotenv() ``` E um arquivo `.env` com o seguinte conteúdo: ``` GITHUB_CLIENT_ID=seu_client_id GITHUB_CLIENT_SECRET=seu_client_secret ``` 3. **Instale as dependências:** ```bash pip install Flask Flask-Session requests python-dotenv ``` 4. **Execute o script:** ```bash python seu_script.py ``` 5. **Acesse a aplicação no seu navegador:** - Abra `http://localhost:5000` no seu navegador. - Clique no link "Login com GitHub". - Você será redirecionado para a página de autorização do GitHub. - Autorize a aplicação. - Você será redirecionado de volta para a sua aplicação, agora logado. **Considerações importantes:** * **Segurança:** * **Nunca armazene o `client_secret` diretamente no seu código.** Use variáveis de ambiente ou um sistema de gerenciamento de segredos. * **Use HTTPS em produção.** O GitHub OAuth requer HTTPS para o `redirect_uri`. * **Valide o token de acesso.** Após obter o token de acesso, você pode fazer uma requisição para a API do GitHub para verificar se o token é válido e obter informações sobre o usuário. * **Proteja suas sessões.** Use uma chave secreta forte e configure as opções de sessão adequadamente para evitar ataques de sequestro de sessão. * **Escopo (Scope):** * O `scope` define as permissões que sua aplicação solicita ao usuário. Solicite apenas as permissões que você realmente precisa. Neste exemplo, `scope=user:email` solicita acesso ao endereço de e-mail do usuário. Você pode solicitar outras permissões, como acesso aos repositórios do usuário, seguindo a documentação do GitHub OAuth. * **Tratamento de erros:** * O código de exemplo inclui tratamento de erros básico, mas você deve adicionar tratamento de erros mais robusto para lidar com falhas de rede, erros de API do GitHub e outros problemas. * **Persistência:** * Este exemplo armazena o token de acesso na sessão. Se você precisar que o usuário permaneça logado mesmo após fechar o navegador, você precisará armazenar o token de acesso em um banco de dados ou outro armazenamento persistente. * **MCP (Managed Cloud Provider):** * Este código é um exemplo básico e não inclui nenhuma funcionalidade específica de MCP. Para integrar com um MCP, você precisará usar as APIs do MCP para gerenciar recursos, autenticar usuários e autorizar acesso. A maneira de fazer isso dependerá do MCP específico que você está usando. Este é um exemplo básico para fins de demonstração. Você precisará adaptá-lo às suas necessidades específicas e adicionar tratamento de erros, segurança e persistência adequados.

FileScopeMCP

FileScopeMCP

Uma ferramenta TypeScript que classifica arquivos na sua base de código por importância, rastreia dependências e fornece resumos de arquivos para ajudar a entender a estrutura do código através do Protocolo de Contexto de Modelo do Cursor.

MSSQL Database Connector

MSSQL Database Connector

Um servidor de Protocolo de Contexto de Modelo que permite executar consultas SQL e gerenciar conexões com bancos de dados Microsoft SQL Server.

Auto Favicon MCP Server

Auto Favicon MCP Server

Automatically generates complete favicon sets from PNG images or URLs, creating multiple sizes, ICO files, Apple touch icons, and manifest.json for web applications.

PR Review MCP Server

PR Review MCP Server

Connects Claude to GitHub Pull Requests to fetch and filter code diffs for AI-assisted reviews. It enables listing open PRs and analyzing changes while automatically excluding binary and asset files to focus on relevant code.

Text-to-SQL MCP Server

Text-to-SQL MCP Server

A secure database query service built on FastMCP framework that allows users to query MySQL databases using natural language, with comprehensive permission management and security controls.

Kobold MCP Server

Kobold MCP Server

A server enabling integration between KoboldAI's text generation capabilities and MCP-compatible applications, with features like chat completion, Stable Diffusion, and OpenAI-compatible API endpoints.

QGIS Model Context Protocol Integration

QGIS Model Context Protocol Integration

Conecta a IA Claude ao QGIS através do Protocolo de Contexto de Modelo, permitindo que Claude interaja diretamente e controle o QGIS para tarefas como criação de projetos, manipulação de camadas e execução de código.

mcp-server-bitbucket

mcp-server-bitbucket

MCP server with 58 tools for Bitbucket API operations. Manage repositories, pull requests, pipelines, branches, commits, deployments, webhooks, and more.

Palo Alto Networks MCP Server Suite

Palo Alto Networks MCP Server Suite

Enables comprehensive management of Palo Alto Networks firewalls through a modular suite of servers for security policies, network objects, device operations, and system configuration.

Atlassian MCP

Atlassian MCP

Plugin de Código Gerenciado para Cursor IDE, fornecendo integração com produtos Atlassian (JIRA, Confluence, BitBucket), permitindo que desenvolvedores pesquisem tarefas, criem novos problemas, visualizem documentação e gerenciem repositórios de código diretamente do IDE.

Ensembl MCP Server

Ensembl MCP Server

A Model Context Protocol server providing LLMs with access to the Ensembl genomics database, enabling AI assistants to query gene information, sequences, variants, and other genomic data across multiple species.

MCP Server Chart

MCP Server Chart

Enables generation of 25+ types of charts and data visualizations using AntV, including bar charts, line charts, maps, mind maps, and specialized diagrams like fishbone and sankey charts. Supports both statistical charts and geographic visualizations for comprehensive data analysis and presentation.

Claude File Management Server

Claude File Management Server

Enables Claude AI to perform comprehensive file operations including reading, writing, notes management, PDF processing, and image handling with thread-safe operations. Provides a complete file management system with enhanced features like document processing and automatic directory creation.

Veeva MCP Server by CData

Veeva MCP Server by CData

Veeva MCP Server by CData

SuperiorAPIs MCP Server Tool

SuperiorAPIs MCP Server Tool

Um servidor MCP baseado em Python que busca dinamicamente definições de plugins da SuperiorAPIs e auto-gera funções de ferramentas baseadas em esquemas OpenAPI, permitindo uma integração perfeita com serviços de API.

Calculator MCP

Calculator MCP

A numerical calculator based on Model Context Protocol (MCP) that provides simple arithmetic operations including addition, subtraction, multiplication, division, power, square root and integer factorial calculations.

Server2MCP Spring Boot Starter

Server2MCP Spring Boot Starter

Este é um plugin de IA revolucionário com excelentes recursos conectáveis e encapsulados. Com apenas algumas linhas de configuração, ele pode ser facilmente integrado ao seu programa web Spring Boot e fornecer a ele capacidades MCP.

MCPHy

MCPHy

Transform REST APIs into intelligent, chat-driven MCP servers with zero code changes. Simply point it at your Swagger/OpenAPI specification to get natural language querying capabilities powered by AI.

Graph Memory MCP

Graph Memory MCP

Enables AI agents to build and query a persistent knowledge graph with entities, relationships, and observations. Features a core index system that ensures critical information is always accessible across all memory operations.

Multi-Agent Communication Platform (MCP)

Multi-Agent Communication Platform (MCP)

Enables multiple Claude Code instances to collaborate in real-time through channels, allowing AI agents to work together on projects without requiring local setup beyond Docker.

Amazon PA-API MCP Service

Amazon PA-API MCP Service

Enables interaction with Amazon's Product Advertising API to search for and retrieve product information from Amazon marketplaces. Supports multiple Amazon regions and marketplaces with configurable host, region, and partner credentials.

mcp-binance-futures

mcp-binance-futures

MCP server for Binance USDT-M Futures trading — exposes tools for market data, account state, order management, and position/margin control.

iMessage Max

iMessage Max

Enables AI assistants to read, search, and send iMessages with features like contact name resolution, session grouping, and attachment listing. It provides intent-aligned tools to efficiently navigate conversation history and manage messages through natural language queries.

MCP Veracode

MCP Veracode

An MCP server that enables users to interact with Veracode security services through Claude Code. It allows for listing applications, retrieving vulnerability findings, checking scan statuses, and monitoring policy compliance.

arXiv Research Assistant MCP Server

arXiv Research Assistant MCP Server

An MCP server that allows Claude AI to search, explore, and compare arXiv papers efficiently through a custom-built local server.

SF Cleaning Service

SF Cleaning Service

Enables booking cleaning services in San Francisco by collecting customer details and automatically sending booking requests via email to service partners.