Skip to main content
Glama

Mapbox MCP 서버

Mapbox API를 위한 MCP 서버.

특징

탐색 도구

  1. mapbox_directions

    • 좌표 간 길찾기

    • 입력:

      • coordinates ({위도: 숫자, 경도: 숫자}[])

      • profile (선택 사항): "운전-교통", "운전", "도보", "자전거"

    • 반환: 단계, 거리, 소요 시간이 포함된 경로 세부 정보

  2. mapbox_directions_by_places

    • 장소 이름을 사용하여 장소 간 경로를 확인하세요.

    • 입력:

      • places (string[]): 장소 이름 배열

      • profile (선택 사항): "운전-교통", "운전", "도보", "자전거"

      • language (선택 사항): 두 글자 언어 코드(예: "zh", "en")

    • 보고:

      • 각 장소에 대한 지오코딩 결과

      • 단계, 거리, 소요 시간이 포함된 경로 세부 정보

      • 처리 중 발생한 오류

  3. mapbox_matrix

    • 좌표 간 이동 시간 및 거리 행렬 계산

    • 입력:

      • coordinates ({위도: 숫자, 경도: 숫자}[])

      • profile (선택 사항): "운전", "도보", "자전거"

      • annotations (선택 사항): "기간", "거리", "기간,거리"

      • sources (선택 사항): 소스 좌표의 인덱스

      • destinations (선택 사항): 목적지 좌표의 인덱스

    • 반환: 지점 간 지속 시간 및/또는 거리의 행렬

  4. mapbox_matrix_by_places

    • 장소 이름을 사용하여 장소 간 이동 시간 및 거리 행렬을 계산합니다.

    • 입력:

      • places (string[]): 장소 이름 배열(2~25개 장소)

      • profile (선택 사항): "운전", "도보", "자전거"

      • annotations (선택 사항): "기간", "거리", "기간,거리"

      • language (선택 사항): 두 글자 언어 코드

      • sources (선택 사항): 출처 장소의 인덱스

      • destinations (선택 사항): 목적지 장소의 인덱스

    • 보고:

      • 각 장소에 대한 지오코딩 결과

      • 기간 및/또는 거리의 행렬

      • 처리 중 발생한 오류

검색 도구

  1. mapbox_geocoding

    • 장소를 검색하고 주소를 좌표로 변환합니다.

    • 입력:

      • searchText (문자열): 검색할 장소 또는 주소

      • limit (선택 사항): 최대 결과 수(1-10)

      • types (선택 사항): 장소 유형(국가, 지역, 장소 등)으로 필터링합니다.

      • language (선택 사항): 두 글자 언어 코드

      • fuzzyMatch (선택 사항): 퍼지 매칭을 활성화/비활성화합니다.

    • 반환: 좌표 및 속성을 포함한 자세한 위치 정보

Related MCP server: Overture Maps MCP

Claude 데스크톱 통합

Claude Desktop 구성 파일(일반적으로 ~/Library/Application Support/Claude/claude_desktop_config.json 에 위치)에 다음 구성을 추가합니다.

지엑스피1

설정

필수 조건

  • Node.js 16 이상

  • TypeScript 4.5 이상

  • 유효한 Mapbox API 키

API 키

여기의 지침에 따라 Mapbox API 키를 받으세요.

API 키를 환경 변수로 설정하세요.

export MAPBOX_ACCESS_TOKEN=your_api_key_here

요금 제한

  • 방향 API: 분당 300개 요청

  • 매트릭스 API:

    • 운전/도보/자전거 이용 시 분당 60건의 요청

    • 운전 트래픽에 대한 분당 30개 요청

  • 지오코딩 API: 분당 600개 요청

전개

구조

mapbox-mcp-server에서는 다음과 같은 구조를 사용하여 서버의 핸들러를 관리합니다.

  • src/server/handlers/base.ts : 모든 핸들러에 대한 기본 클래스

  • src/server/registry.ts : 모든 핸들러에 대한 레지스트리

  • src/server/main.ts : 서버의 주요 진입점

각 기능 모듈은 다음 구조를 따릅니다.

src/
├── types/          # Type definitions
├── schemas/        # Zod schemas for validation
├── tools/
│   ├── definitions/  # Tool definitions
│   └── handlers/     # Tool implementations
└── server/
    └── handlers/     # Handler classes

클래스 다이어그램 : mapbox-mcp-서버-클래스-다이어그램


공정도 :mapbox-mcp-서버-프로세스-다이어그램

오류 처리

모든 도구는 포괄적인 오류 처리를 구현합니다.

  • 입력 검증 오류

  • API 요청 실패

  • 속도 제한 오류

  • 서비스별 오류(예: 경로를 찾을 수 없음, 잘못된 좌표)

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

Available Tools

5 tools
mapbox_directionsC

Get navigation route between two points

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinatesYesArray of coordinates
profileNoNavigation modedriving-traffic

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get navigation route' implies a read-only operation, it doesn't address authentication requirements, rate limits, error conditions, response format, or whether this is a real-time vs. cached service. The description provides minimal behavioral context beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just 5 words, front-loading the core purpose without any wasted language. Every word earns its place in communicating the essential function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a navigation API tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a 'navigation route' includes (distance, duration, steps, geometry), error handling, authentication needs, or how results differ from sibling tools. The minimal description leaves too many contextual gaps for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain coordinate ordering (origin to destination), minimum/maximum points, or practical usage of the profile parameter. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('navigation route between two points'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'mapbox_directions_by_places', which likely serves a similar purpose with different input parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'mapbox_directions_by_places', 'mapbox_geocoding', and 'mapbox_matrix' available, there's no indication of when this coordinate-based directions tool is preferred over place-based or matrix alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mapbox_directions_by_placesC

Get navigation route between multiple places using their names

ParametersJSON Schema
NameRequiredDescriptionDefault
placesYesArray of place names to route between
profileNoNavigation modedriving
languageNoLanguage for geocoding results

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It mentions geocoding ('using their names') which implies place name resolution, but doesn't disclose rate limits, authentication needs, error handling, or what the route output includes (e.g., distance, duration, geometry). For a navigation tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every word contributing to understanding the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a navigation routing tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the route output contains (e.g., waypoints, instructions, polyline), performance characteristics, or common failure modes. The geocoding aspect is hinted at but not elaborated, leaving significant gaps for agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no additional parameter semantics beyond implying that 'places' are resolved via geocoding. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get navigation route') and resource ('between multiple places using their names'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'mapbox_directions' or 'mapbox_matrix_by_places', which likely have overlapping functionality with different input approaches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'mapbox_directions' (which might use coordinates instead of place names) or 'mapbox_matrix_by_places' (which might handle multiple routes). There's no mention of prerequisites, limitations, or typical use cases beyond the basic functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mapbox_geocodingC

Search for places and convert addresses into coordinates

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTextYesThe search text to geocode
limitNoLimit the number of results
typesNoFilter results by feature types
languageNoLanguage of the search results
fuzzyMatchNoEnable/disable fuzzy matching

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the core functionality but omits critical details such as rate limits, authentication requirements, error handling, response format, or whether this is a read-only operation. For a geocoding tool with external API dependencies, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence) and front-loaded with the core purpose. Every word earns its place, with no redundant or unnecessary information, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (geocoding with 5 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like API constraints, response structure, or error conditions, which are essential for proper tool invocation in a real-world context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, providing clear documentation for all 5 parameters. The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline score of 3. It doesn't explain how parameters interact or provide usage examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Search for places' and 'convert addresses into coordinates') and identifies the resource (geographic data). It distinguishes from sibling tools by focusing on geocoding rather than directions or matrix calculations, though it doesn't explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools (mapbox_directions, mapbox_directions_by_places, mapbox_matrix, mapbox_matrix_by_places). It doesn't mention use cases, prerequisites, or exclusions, leaving the agent to infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mapbox_matrixC

Calculate travel time and distance matrices between coordinates

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinatesYesArray of coordinates
profileNoNavigation modedriving
annotationsNoType of matrix to returnduration,distance
approachesNoApproaches to coordinates
bearingsNoBearings for coordinates
sourcesNoIndices of source coordinates
destinationsNoIndices of destination coordinates
fallback_speedNoSpeed for direct path calculation when no route exists
depart_atNoDeparture time in ISO 8601 format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what the tool does but fails to describe critical behaviors such as rate limits, authentication requirements, error handling, or output format. For a tool with 9 parameters and no output schema, this leaves significant gaps in understanding its operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain the return values, error conditions, or practical usage scenarios. For a matrix calculation tool with multiple configuration options, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any meaningful semantic context beyond what the schema provides, such as explaining relationships between parameters or typical use cases. The baseline score of 3 reflects adequate but minimal value addition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('calculate') and resource ('travel time and distance matrices between coordinates'), providing a specific purpose. However, it doesn't differentiate from sibling tools like 'mapbox_matrix_by_places', which likely serves a similar function with different input types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'mapbox_matrix_by_places' or other sibling tools. The description lacks context about use cases, prerequisites, or exclusions, offering only a basic functional statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mapbox_matrix_by_placesC

Calculate travel time and distance matrices between places using their names

ParametersJSON Schema
NameRequiredDescriptionDefault
placesYesArray of place names
profileNoNavigation modedriving
annotationsNoType of matrix to returnduration,distance
languageNoLanguage for geocoding results
sourcesNoIndices of source places
destinationsNoIndices of destination places
fallback_speedNoSpeed for direct path calculation when no route exists
depart_atNoDeparture time in ISO 8601 format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what the tool does but doesn't describe important behavioral traits: whether it requires authentication, rate limits, what happens when place names are ambiguous, error handling, or the format of returned matrices. For a complex tool with 8 parameters, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's core functionality. It's appropriately sized and front-loaded with the essential information. There's no wasted verbiage or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex matrix calculation tool with 8 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the output looks like (matrix format), doesn't mention authentication requirements, doesn't discuss rate limits or costs, and doesn't provide context about when this tool is appropriate versus alternatives. The description should do more given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'using their names' which hints at the 'places' parameter, but doesn't provide additional context about parameter interactions or usage patterns. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Calculate travel time and distance matrices between places using their names.' It specifies the verb ('calculate'), resource ('travel time and distance matrices'), and method ('using their names'). However, it doesn't explicitly differentiate from sibling tools like 'mapbox_matrix' (which likely uses coordinates rather than place names).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'mapbox_matrix' (which might use coordinates instead of place names) or 'mapbox_directions_by_places' (which might provide route details rather than matrices). There's no context about appropriate use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedmapbox_directions
    • First observedmapbox_directions_by_places
    • First observedmapbox_geocoding
    • First observedmapbox_matrix
    • First observedmapbox_matrix_by_places

TDQS

B3.4/5.0

Scored across 5 tools

Disambiguation4/5

The tools are mostly distinct, with clear purposes like routing, geocoding, and matrix calculations. However, the two directions tools (mapbox_directions and mapbox_directions_by_places) and two matrix tools (mapbox_matrix and mapbox_matrix_by_places) could cause minor confusion as they overlap in functionality but differ in input types (coordinates vs. place names). Descriptions help clarify this distinction.

Naming Consistency5/5

All tool names follow a consistent 'mapbox_' prefix with descriptive suffixes (e.g., directions, geocoding, matrix), using snake_case uniformly. The naming pattern is predictable and readable, making it easy for agents to understand the tool's purpose at a glance.

Tool Count5/5

With 5 tools, the server is well-scoped for its mapping and navigation domain. Each tool serves a distinct function (e.g., routing, geocoding, matrix calculations), and the count is neither too sparse nor overwhelming, fitting typical use cases effectively.

Completeness4/5

The tool set covers core mapping operations like routing, geocoding, and travel time calculations, with good coverage for the domain. A minor gap might be the lack of tools for additional Mapbox services (e.g., static maps or spatial analysis), but the provided tools enable key workflows without significant dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers