Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

openapi-mcp-server: permite que a IA invoque diretamente os serviços MCP com APIs abertas

Introdução geral

O openapi-mcp-server é uma ferramenta de código aberto projetada para transformar APIs compatíveis com a OpenAPI v3.1 em recursos utilizáveis por IA. Ela é mantida por janwilmake e desenvolvida com base no protocolo MCP (Model Context Protocol). A função principal do projeto é atuar como um proxy de API, permitindo que os desenvolvedores usem o Claude Ferramentas como o Desktop interagem diretamente com a API. Essa ferramenta é especialmente adequada para desenvolvedores e engenheiros de IA que precisam integrar APIs rapidamente. Ela foi projetada para ser simples e direta, de código aberto no GitHub e gratuita para qualquer pessoa usar ou contribuir com código.

openapi-mcp-server:让AI直接调用开放API的MCP服务-1


 

Lista de funções

  • API para proxy MCPConverte os pontos de extremidade da especificação OpenAPI em ferramentas disponíveis para o Claude.
  • Suporte a vários formatosAPIs: podem ser convertidas para OpenAI, Anthropic ou MCP Formato da ferramenta.
  • operação de linha de comandoAPI: fornece ferramentas de CLI para facilitar as chamadas programáticas para a API.
  • servidor de amostraExemplos incorporados da API da Petstore para ajudar os usuários a começar rapidamente.
  • Código aberto e gratuitoO código está disponível publicamente e pode ser modificado e ampliado livremente pelo usuário.

 

Usando a Ajuda

O openapi-mcp-server não requer uma instalação complicada, basta obter o código-fonte via GitHub e executá-lo. Aqui estão as etapas detalhadas.

Instalação e operação

  1. Preparação do ambiente
    Certifique-se de ter o Node.js e o pnpm instalados em seu computador (recomendado). Isso pode ser verificado com o comando:
node -v
pnpm -v

Caso contrário, visite https://nodejs.org responder cantando https://pnpm.io Faça o download e instale.
2. armazém de clones
Abra um terminal e digite:

git clone https://github.com/janwilmake/openapi-mcp-server.git
cd openapi-mcp-server
  1. Instalação de dependências
    Execute no diretório do projeto:
pnpm install
  1. Criar o projeto
    Crie o código para garantir a operação adequada:
pnpm build
  1. Vinculação de comandos globais
    Disponibilizar ferramentas de linha de comando:
npm link

Configuração do Claude Desktop

  1. Editar arquivo de configuração
    Localize o arquivo de configuração do Claude Desktop, geralmente em:
  • Windows. %AppData%\Claude\claude_desktop_config.json
  • Mac. ~/Library/Application Support/Claude/claude_desktop_config.json
    Caso contrário, crie um novo arquivo.
  1. Adição de um servidor MCP
    Adicione o seguinte ao arquivo de configuração:
{
"mcpServers": {
"petstore-api": {
"command": "npx",
"args": ["openapi-mcp-server", "/path/to/petstore-openapi.json"]
}
}
}

comandante-em-chefe (militar) /path/to/petstore-openapi.json Substitua-o pelo caminho para seu arquivo OpenAPI, por exemplo, o arquivo examples/petstore-openapi.json.
3. Iniciar Claude Desktop
Execute o Claude Desktop e ele carregará automaticamente esse servidor.

Chamada da API com a CLI

  1. Preparando o arquivo OpenAPI
    Certifique-se de que você tenha o arquivo JSON da OpenAPI v3.1 para a API de destino, por exemplo petstore-openapi.json.
  2. Executar comando
    Digite-o no terminal:
npx openapi-mcp-server /path/to/your-openapi.json

Isso iniciará um servidor proxy.
3. Exemplo de teste de petstore
O projeto vem com um exemplo da API Petstore. Execute-o:

npx openapi-mcp-server examples/petstore-openapi.json

Em seguida, interaja com ele no Claude Desktop, por exemplo, digitando "get pet by ID".

API de conversão programática

  1. módulo de importação
    Em seu projeto Node.js, adicione o código:
import { OpenAPIToMCPConverter } from 'openapi-mcp-server';
  1. API de conversão
    Use o código a seguir para converter OpenAPI em formato de ferramenta:
const converter = new OpenAPIToMCPConverter(openApiSpec); // openApiSpec 是你的 JSON 数据
const openAiTools = await converter.convertToOpenAITools(); // 转为 OpenAI 格式
const mcpTools = converter.convertToMCPTools(); // 转为 MCP 格式
  1. Chamando a API
    Use o HttpClient para executar a solicitação:
import { HttpClient } from 'openapi-mcp-server';
const httpClient = new HttpClient({ baseUrl: 'https://api.example.com' }, openApiSpec);
const response = await httpClient.executeOperation(mcpTools.openApiLookup['getPetById'], { petId: 123 });

sugestão de operação

  • Problemas de depuraçãoSe o Claude falhar, verifique se o arquivo OpenAPI está em ordem usando o comando https://editor.swagger.io Validação.
  • Código de atualizaçãoApós modificar o código, execute pnpm build e reinicie o Claude Desktop.
  • Exemplo de aprendizado: Ver examples/README.mdCompreender as operações CRUD do servidor Petstore.

 

cenário do aplicativo

  1. Integração rápida de API
    Um desenvolvedor deseja adicionar a funcionalidade de gerenciamento de animais de estimação a um projeto. Ele carregou a API Petstore com o openapi-mcp-server e testou os pontos de extremidade diretamente no Claude para economizar tempo escrevendo código manualmente.
  2. Desenvolvimento assistido por IA
    O engenheiro de IA precisa gerar o código de chamada da API. Ele converte o arquivo OpenAPI com uma ferramenta e gera o código de solicitação completo com o Claude.
  3. Demonstração de ensino
    O professor usa o exemplo da Petstore para mostrar aos alunos como conectar APIs a ferramentas de IA e aprender sobre as interações da API.

 

QA

  1. Preciso pagar?
    Não é necessário, pois o projeto é totalmente de código aberto e gratuito, hospedado no GitHub.
  2. Quais APIs são compatíveis?
    Qualquer API que faça parte da especificação OpenAPI v3.1 é aceitável, como GitHub, Cloudflare, etc.
  3. E se o Claude não o reconhecer?
    Verifique se o caminho do arquivo de configuração e o arquivo OpenAPI estão corretos e se o servidor está ativo.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " openapi-mcp-server: permite que a IA invoque diretamente os serviços MCP com APIs abertas
pt_BRPortuguês do Brasil