Hippycampus
Transforma qualquer endpoint REST Swagger/OpenAPI com definição yaml/json em um servidor MCP com integração Langchain/Langflow automaticamente.
Documentação
Hippycampus
Um CLI e servidor MCP baseado em LangChain que suporta carregamento dinâmico de especificações OpenAPI e integração com Langflow.
Pré-requisitos
- Python 3.12.9
- Gerenciador de pacotes UV
- Chave de API do Google AI Studio
- Langflow (para criação visual de fluxos de trabalho)
Instalação
# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
# Install hippycampus and its dependencies
uv pip install -e .
# Install langflow
uv pip install langflow
Configuração
Chave de API do Google AI Studio
- Visite Google AI Studio
- Clique em "Create API Key" no canto superior direito
- Copie a chave gerada e defina-a como uma variável de ambiente:
export GOOGLE_API_KEY='your-api-key-here'
Executando os Aplicativos
Modo CLI (sem servidor MCP)
uv run hippycampus-cli
Modo Servidor MCP (SSE)
uv run hippycampus-server --transport sse --port 8000
Servidor Langflow
Certifique-se de que o servidor MCP esteja em execução antes de iniciar o Langflow.
- Defina a variável de ambiente do caminho dos componentes:
# Get your current working directory
pwd
# Use the output to set the components path
export LANGFLOW_COMPONENTS_PATH="/output/from/pwd/langflow/components"
- Inicie o servidor Langflow (adicione --dev para modo de desenvolvimento):
uv run langflow run
- Abra seu navegador e navegue até
http://localhost:7860
Usando Componentes Personalizados no Langflow
-
Na interface do Langflow, localize os componentes personalizados:
- OpenApi Service: Para carregar especificações OpenAPI
- Hippycampus MCP Server: Para conectar ao servidor MCP via SSE
-
Configure os componentes:
- OpenApi Service: Use
https://raw.githubusercontent.com/APIs-guru/unofficial_openapi_specs/master/xkcd.com/1.0.0/openapi.yamlpara testes - MCP Server: Use
http://localhost:8000/sse
- OpenApi Service: Use
Consulte a Demonstração em Vídeo (Screencast Demo) para um guia visual. Screencast Demo
Observe que os arquivos swagger oficiais do XKCD contêm um erro e especificam o campo comic_id como um número em vez de um inteiro; há uma versão corrigida na pasta de testes.
Solução de Problemas
- Erros de autenticação: Verifique se
GOOGLE_API_KEYestá definido corretamente - Componentes ausentes no Langflow: Verifique se
LANGFLOW_COMPONENTS_PATHaponta para o diretório correto - Problemas de conexão: Certifique-se de que o servidor MCP esteja em execução antes de conectar via Langflow
- Se os componentes não aparecerem no Langflow, tente reiniciar o servidor Langflow
- Use o CLI para depurar problemas de interação entre openapi_builder/spec_parser e o agente antes de executar no MCP/Langflow.
Licença
Licença MIT
Copyright (c) 2024 Ray Cromwell
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU OUTRA FORMA, DECORRENTE DE, FORA OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.