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.
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
- 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
- Instalação de dependências
Execute no diretório do projeto:
pnpm install
- Criar o projeto
Crie o código para garantir a operação adequada:
pnpm build
- Vinculação de comandos globais
Disponibilizar ferramentas de linha de comando:
npm link
Configuração do Claude Desktop
- 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.
- 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
- Preparando o arquivo OpenAPI
Certifique-se de que você tenha o arquivo JSON da OpenAPI v3.1 para a API de destino, por exemplopetstore-openapi.json
. - 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
- módulo de importação
Em seu projeto Node.js, adicione o código:
import { OpenAPIToMCPConverter } from 'openapi-mcp-server';
- 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 格式
- 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.md
Compreender as operações CRUD do servidor Petstore.
cenário do aplicativo
- 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. - 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. - 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
- Preciso pagar?
Não é necessário, pois o projeto é totalmente de código aberto e gratuito, hospedado no GitHub. - Quais APIs são compatíveis?
Qualquer API que faça parte da especificação OpenAPI v3.1 é aceitável, como GitHub, Cloudflare, etc. - 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.