Skip to main content
Glama

브루노 API MCP 서버

Bruno API 컬렉션을 MCP 도구로 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 사용하면 MCP 프로토콜을 통해 Bruno API 컬렉션과 상호작용할 수 있으며, 이를 통해 AI 에이전트 및 다른 MCP 클라이언트가 해당 API 컬렉션에 접근할 수 있습니다.

이것이 중요한 이유: 소스 코드와 데이터의 협력

개발자가 API를 통합해야 할 때 일반적으로 세 가지 핵심 과제에 직면합니다.

  1. 시스템 경계를 넘나드는 디버깅 : 별도의 코드와 데이터 환경에서 문제를 진단하려면 지속적인 컨텍스트 전환이 필요하므로 문제 해결이 비효율적입니다.

  2. 사용자 정의 툴 만들기 : 타사 API를 통합하려면 사용자 정의 툴을 구축하고 유지 관리해야 하므로 개발 오버헤드와 기술 부채가 발생합니다.

  3. 서비스 UI 구축 : 모든 백엔드 서비스에 대한 사용자 인터페이스를 개발하면 복잡성과 유지 관리 비용이 상당히 증가합니다.

이 서버는 소스 코드와 데이터를 함께 배치하여 이러한 문제를 해결합니다. Bruno API 컬렉션을 모델 컨텍스트 프로토콜 도구로 변환하여 다음과 같은 작업을 수행할 수 있습니다.

  • 이전에 분리된 환경에서 완전한 컨텍스트를 사용하여 디버깅

  • 추가적인 맞춤 개발 없이 모든 API를 에이전트 준비 도구로 전환

  • AI 인터페이스를 통해 제어할 수 있는 헤드리스 서비스를 구축하세요

유지 관리 오버헤드를 줄이는 동시에 API 통합을 가속화해야 하는 개발팀에게 이러한 접근 방식은 근본적으로 가능한 것을 바꾸어 이전에는 복잡했던 통합을 간단하고 접근하기 쉽게 만듭니다.

Related MCP server: Scenario Word

특징

  • Bruno API 컬렉션을 MCP 도구로 자동 변환

  • 다양한 API 구성을 위한 환경 관리

  • SSE 전송을 통한 HTTP

  • 교차 출처 지원

  • API 수집 관리를 위한 내장 도구

용법

  1. 종속성 설치:

    지엑스피1

  2. Bruno API 컬렉션으로 서버를 시작합니다.

    node --loader ts-node/esm src/index.ts --bruno-path /path/to/bruno/collection [--environment env_name] [--include-tools tool1,tool2,tool3] [--exclude-tools tool4,tool5]

    옵션:

    • --bruno-path 또는 -b : Bruno API 컬렉션 디렉토리 경로(필수)

    • --environment 또는 -e : 사용할 환경의 이름(선택 사항)

    • --include-tools : 포함할 도구 이름을 쉼표로 구분하여 나열한 목록(다른 모든 도구는 필터링)(선택 사항)

    • --exclude-tools : 제외할 도구 이름의 쉼표로 구분된 목록(선택 사항)

    두 가지 형식 모두 도구 필터링 옵션에 지원됩니다.

    --include-tools tool1,tool2,tool3 # Space-separated format --include-tools=tool1,tool2,tool3 # Equals-sign format
  3. 클라이언트에서 연결:

    • 로컬 연결: http://localhost:8000/sse

    • Windows에서 WSL로: http://<WSL_IP>:8000/sse

    • 다음을 사용하여 WSL IP를 얻으세요: hostname -I | awk '{print $1}'

미리 정의된 스크립트

저장소에는 일반적인 사용 사례에 대한 미리 정의된 npm 스크립트가 여러 개 포함되어 있습니다.

# Start the server with default settings npm start # Start with CFI API path npm run start:cfi # Start with local environment npm run start:local # Start with only specific tools included npm run start:include-tools # Start with specific tools excluded npm run start:exclude-tools

개발

테스트 실행

모든 테스트를 실행합니다.

npm test

특정 테스트 파일 실행:

npm test test/bruno-parser-auth.test.ts

디버깅

서버는 자세한 로깅을 위해 debug 라이브러리를 사용합니다. DEBUG 환경 변수를 설정하여 다양한 디버그 네임스페이스를 활성화할 수 있습니다.

# Debug everything DEBUG=* npm start # Debug specific components DEBUG=bruno-parser npm start # Debug Bruno parser operations DEBUG=bruno-request npm start # Debug request execution DEBUG=bruno-tools npm start # Debug tool creation and registration # Debug multiple specific components DEBUG=bruno-parser,bruno-request npm start # On Windows CMD: set DEBUG=bruno-parser,bruno-request && npm start # On Windows PowerShell: $env:DEBUG='bruno-parser,bruno-request'; npm start

사용 가능한 디버그 네임스페이스:

  • bruno-parser : Bruno API 컬렉션 파싱 및 환경 처리

  • bruno-request : 요청 실행 및 응답 처리

  • bruno-tools : MCP 서버에 도구 생성 및 등록

도구

환경 목록

Bruno API 컬렉션에서 사용 가능한 모든 환경을 나열합니다.

  • 매개변수가 필요하지 않습니다

  • 보고:

    • 사용 가능한 환경 목록

    • 현재 활성화된 환경

에코

보낸 메시지를 다시 에코합니다(테스트에 유용함):

  • 매개변수: message (문자열)

Bruno API 컬렉션 구조

Bruno API 컬렉션은 표준 Bruno 구조를 따라야 합니다.

collection/ ├── collection.bru # Collection settings ├── environments/ # Environment configurations │ ├── local.bru │ └── remote.bru └── requests/ # API requests ├── request1.bru └── request2.bru

컬렉션의 각 요청은 자동으로 MCP 도구로 변환되어 MCP 프로토콜을 통해 사용할 수 있습니다.

도구와 함께 사용자 정의 매개변수 사용

Bruno API 컬렉션에서 생성된 도구를 호출할 때 다음을 제공하여 요청을 사용자 정의할 수 있습니다.

환경 재정의

특정 요청에 대해 다른 환경을 지정할 수 있습니다.

{ "environment": "us-dev" }

이렇게 하면 기본 환경 대신 지정된 환경의 변수가 사용됩니다.

변수 교체

단일 요청에 대해 특정 변수를 재정의할 수 있습니다.

{ "variables": { "dealId": "abc123", "customerId": "xyz789", "apiKey": "your-api-key" } }

이러한 변수는 URL, 헤더 및 요청 본문에 대체됩니다. 예를 들어, 요청 URL이 다음과 같은 경우:

{{baseUrl}}/api/deal/{{dealId}}

그리고 { "variables": { "dealId": "abc123" } } 제공하면 실제로 사용되는 URL은 다음과 같습니다.

https://api.example.com/api/deal/abc123

쿼리 매개변수

쿼리 매개변수를 직접 추가하거나 재정의할 수 있습니다.

{ "query": { "limit": "10", "offset": "20", "search": "keyword" } }

이렇게 하면 원래 요청에 정의되어 있는지 여부와 관계없이 이러한 쿼리 매개변수가 URL에 추가됩니다. 예를 들어, 요청 URL이 다음과 같은 경우:

{{baseUrl}}/api/deals

그리고 { "query": { "limit": "10", "search": "keyword" } } 제공하면 실제로 사용되는 URL은 다음과 같습니다.

https://api.example.com/api/deals?limit=10&search=keyword

이 방법은 변수를 사용하여 쿼리 매개변수를 재정의하는 것보다 더 깔끔하고 명확합니다.

사용자 정의 본문 매개변수

요청 본문에 사용자 정의 매개변수를 제공할 수도 있습니다.

{ "body": { "name": "John Doe", "email": "john@example.com" } }

완전한 예

다음은 네 가지 유형의 사용자 정의를 모두 결합한 완전한 예입니다.

{ "environment": "staging", "variables": { "dealId": "abc123", "apiKey": "test-key-staging" }, "query": { "limit": "5", "sort": "created_at" }, "body": { "status": "approved", "amount": 5000 } }

특허

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/djkz/bruno-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server