Skip to main content
Glama

NicePay MCP Server

나이스페이 개발자 가이드를 위한 Model Context Protocol (MCP) 서버입니다.

이 MCP 서버는 Cursor IDE나 다른 MCP 호환 도구에서 나이스페이 API 문서를 쉽게 검색하고 조회할 수 있도록 해줍니다.

참고: 이 프로젝트는 나이스페이먼츠 공식 매뉴얼 저장소의 마크다운 문서를 기반으로 작동합니다.

기능

1. 문서 검색 (search_nicepay_docs)

키워드로 나이스페이 개발자 가이드 문서를 검색합니다.

사용 예시:

  • "결제창"

  • "취소"

  • "웹훅"

  • "API"

2. API 엔드포인트 조회 (get_api_endpoint)

특정 API 엔드포인트의 상세 정보를 조회합니다.

조회 내용:

  • HTTP Method (GET, POST 등)

  • 엔드포인트 URL

  • 요청/응답 파라미터

  • 샘플 코드

사용 예시:

  • "결제 승인"

  • "거래 조회"

  • "취소"

3. 코드 샘플 조회 (get_code_sample)

주제와 언어에 맞는 코드 샘플을 제공합니다.

사용 예시:

  • 주제: "결제창 호출", 언어: "javascript"

  • 주제: "Basic 인증", 언어: "curl"

  • 주제: "결제 승인"

4. JS SDK 메서드 조회 (get_sdk_method)

JS SDK 메서드의 사용법과 파라미터 정보를 제공합니다.

사용 예시:

  • "requestPay"

  • "cancelPay"

  • "AUTHNICE.requestPay"

Related MCP server: Daraja API MCP Server

설치

요구사항

  • Node.js 18 이상

  • npm 또는 yarn

설치 방법

  1. 프로젝트 디렉토리로 이동:

cd mcp-server
  1. 의존성 설치:

npm install
  1. 빌드:

npm run build

사용 방법

Cursor IDE 설정

  1. Cursor 설정 파일(.cursorrules 또는 MCP 설정)을 엽니다.

  2. MCP 서버를 추가합니다:

{
  "mcpServers": {
    "nicepay": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/index.js"]
    }
  }
}

참고: 위 경로는 실제 프로젝트 경로로 변경해야 합니다.

개발 모드 실행

개발 중에는 tsx를 사용하여 실행할 수 있습니다:

npm run dev

프로덕션 빌드

npm run build
npm start

프로젝트 구조

mcp-server/
├── src/
│   ├── index.ts                 # MCP 서버 진입점
│   └── utils/
│       ├── docIndexer.ts        # 문서 인덱싱 시스템
│       ├── markdownParser.ts    # 마크다운 파서
│       └── logger.ts           # 로깅 유틸리티
├── dist/                        # 빌드 결과물
├── package.json
├── tsconfig.json
└── README.md

문서 경로

서버는 다음 디렉토리의 마크다운 파일들을 자동으로 인덱싱합니다:

  • api/ - API 명세 문서

  • common/ - 공통 가이드 문서

  • management/ - 운영 관련 문서

  • migration/ - 마이그레이션 문서

이 문서들은 나이스페이먼츠 공식 매뉴얼 저장소에서 제공됩니다.

문서 구조: 서버는 프로젝트 루트의 상위 디렉토리(../../)에서 위 디렉토리들을 찾아 인덱싱합니다. 공식 저장소를 클론한 경우, 이 MCP 서버를 해당 저장소의 하위 디렉토리로 배치하거나, DOCS_BASE_PATH 환경 변수로 문서 경로를 지정할 수 있습니다.

스크립트

  • npm run build - TypeScript 컴파일

  • npm start - 빌드된 파일 실행

  • npm run dev - 개발 모드 실행 (tsx 사용)

  • npm run watch - 파일 변경 감지하여 자동 빌드

로깅

서버는 stderr를 통해 로그를 출력합니다. 로그 레벨:

  • ERROR - 오류 발생

  • WARN - 경고 사항

  • INFO - 정보성 메시지

  • DEBUG - 디버그 정보

문제 해결

문서 인덱싱 실패

서버 시작 시 문서 인덱싱이 실패하면 로그를 확인하세요. 인덱싱이 실패해도 서버는 계속 실행되지만 검색 기능이 제한될 수 있습니다.

MCP 연결 실패

  • Node.js 버전이 18 이상인지 확인

  • 빌드가 완료되었는지 확인 (dist/index.js 파일 존재 여부)

  • 경로가 올바른지 확인

검색 결과가 없을 때

  • 키워드를 변경하여 다시 시도

  • 대소문자는 구분하지 않으므로 자유롭게 입력 가능

라이선스

MIT

기여

이슈나 개선 사항이 있으면 알려주세요!

Available Tools

4 tools
get_api_endpointC

특정 API 엔드포인트의 상세 정보를 조회합니다. 메서드, URL, 파라미터, 예시 등을 제공합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
endpoint_nameYes조회할 API 엔드포인트 이름 (예: "결제 승인", "거래 조회" ,"취소" 등)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves information (implying read-only), but doesn't mention potential constraints like authentication requirements, rate limits, error handling, or response format. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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

Conciseness4/5

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

The description is concise and front-loaded, stating the core purpose in a single sentence. It efficiently lists the types of details provided (method, URL, parameters, examples) without unnecessary elaboration. However, it could be slightly more structured by explicitly separating the purpose from the details.

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

Completeness3/5

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

Given the tool's moderate complexity (a single-parameter read operation), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and output types but lacks details on behavioral aspects and usage context. For a tool with no structured safety or output information, it should do more to compensate.

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 input schema has 100% description coverage, with the parameter 'endpoint_name' well-documented as 'the name of the API endpoint to retrieve (e.g., "payment approval", "transaction retrieval", "cancel" etc.)'. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline of 3 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 tool's purpose: 'retrieve detailed information about a specific API endpoint' with specific elements like method, URL, parameters, and examples. It uses a specific verb ('retrieve') and resource ('API endpoint'), but doesn't explicitly differentiate from sibling tools like get_code_sample or get_sdk_method, which might also provide API-related information.

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 (get_code_sample, get_sdk_method, search_nicepay_docs) or specify contexts where this tool is preferred, such as needing endpoint details versus code examples or broader documentation searches.

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

get_code_sampleC

나이스페이 API 사용 예시 코드를 제공합니다. 언어별로 코드 샘플을 조회할 수 있습니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes코드 샘플을 찾을 주제 (예: "결제창 호출", "Basic 인증", "결제 승인" 등)
languageNo언어 (선택사항, 예 "javascript", "python", "curl" 등)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the tool's function but lacks details on behavioral traits such as whether it's read-only (implied by 'provides' but not stated), rate limits, authentication requirements, or error handling. For a tool with no annotations, this is a significant gap in transparency.

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

Conciseness4/5

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

The description is concise and front-loaded, consisting of two sentences that directly state the tool's purpose and key functionality. There is no wasted text, and it efficiently communicates the core idea without unnecessary elaboration, though it could be slightly more structured for clarity.

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

Completeness3/5

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

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and parameter context but lacks details on behavioral aspects, output format, or usage scenarios. Without annotations or an output schema, the description should provide more context to fully guide the agent, but it meets a minimum viable standard.

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%, with clear descriptions for both parameters (topic and language). The description adds minimal value beyond the schema, mentioning language retrieval but not elaborating on parameter usage or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't significantly enhance parameter understanding.

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: 'provides example code for NicePay API usage' and specifies it can retrieve code samples by language. It uses specific verbs ('provides', 'retrieve') and identifies the resource ('example code'). However, it doesn't explicitly differentiate from sibling tools like get_api_endpoint or get_sdk_method, which might also provide code-related information.

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 mentions that code samples can be retrieved by language, implying usage when language-specific examples are needed, but it provides no explicit guidance on when to use this tool versus alternatives like get_sdk_method or search_nicepay_docs. There are no exclusions, prerequisites, or comparisons to sibling tools, leaving the agent with minimal context for selection.

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

get_sdk_methodC

JS SDK 메서드 정보를 조회합니다. AUTHNICE.requestPay() 등의 메서드 사용법을 제공합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
method_nameYes조회할 SDK 메서드 이름 (예: "requestPay", "cancelPay" 등)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states the tool retrieves information and provides usage examples, but lacks details on permissions, rate limits, error handling, or response format. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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

Conciseness4/5

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

The description is concise with two sentences that directly address the tool's function and provide examples. It's front-loaded with the core purpose, though the second sentence could be more tightly integrated. There's no wasted text, making it efficient for an agent to parse.

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 no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It adequately covers the purpose but lacks behavioral context (e.g., what the response looks like, error conditions) and usage guidelines relative to siblings. For a tool in a suite with similar functions, this leaves the agent under-informed.

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%, with the single parameter 'method_name' well-documented in the schema. The description adds minimal value beyond the schema by mentioning example method names like 'requestPay' and 'cancelPay', but doesn't provide additional syntax, constraints, or contextual meaning. Baseline 3 is appropriate given 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 tool's purpose: 'JS SDK 메서드 정보를 조회합니다' (retrieves JS SDK method information). It specifies the resource (SDK methods) and verb (retrieve/lookup), though it doesn't explicitly differentiate from sibling tools like get_api_endpoint or get_code_sample. The mention of specific examples like AUTHNICE.requestPay() adds helpful specificity.

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 get_api_endpoint, get_code_sample, or search_nicepay_docs, nor does it specify any prerequisites, exclusions, or contextual triggers for usage. The agent must 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.

search_nicepay_docsB

나이스페이 개발자 가이드 문서를 검색합니다. 키워드로 관련 문서를 찾을 수 있습니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes검색할 키워드 (예: "결제창", "취소", "웹훅", "API" 등)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches documents but lacks details on behavioral traits such as whether it's read-only, how results are returned (e.g., pagination, format), error handling, or any rate limits. This leaves significant gaps in understanding how the tool operates beyond its basic function.

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 concise and well-structured, consisting of two clear sentences that directly state the tool's purpose and usage without unnecessary details. Every sentence earns its place by contributing essential information, 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.

Completeness3/5

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

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the basic function but lacks details on behavioral aspects and usage context, which are important for a search tool. Without annotations or an output schema, the description should provide more guidance on what to expect from the tool's operation.

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 description mentions '키워드로 관련 문서를 찾을 수 있습니다' (you can find related documents with keywords), which aligns with the single 'query' parameter in the schema. Since schema description coverage is 100% (the schema provides a clear description and examples), the description adds minimal value beyond what's already documented in the structured data, meeting the baseline for high 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 tool's purpose: '나이스페이 개발자 가이드 문서를 검색합니다' (searches NicePay developer guide documents). It specifies the resource (NicePay developer guide documents) and verb (검색합니다/searches), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like get_api_endpoint or get_code_sample, which might also retrieve documentation-related content.

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 minimal usage guidance: it mentions that you can search for related documents using keywords. However, it offers no explicit advice on when to use this tool versus alternatives like get_api_endpoint or get_code_sample, nor does it specify any prerequisites, exclusions, or contextual triggers for its use.

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. Dates show when Glama detected each change.

  1. 4 tool updates
    • First observedget_api_endpoint
    • First observedget_code_sample
    • First observedget_sdk_method
    • First observedsearch_nicepay_docs

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: get_api_endpoint retrieves API details, get_code_sample provides example code, get_sdk_method covers JS SDK methods, and search_nicepay_docs searches documentation. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: get_api_endpoint, get_code_sample, get_sdk_method, and search_nicepay_docs. This uniformity enhances readability and predictability, allowing agents to easily understand and use the tool set.

Tool Count4/5

With 4 tools, the count is reasonable for a documentation-focused server, covering API details, code samples, SDK methods, and documentation search. It is well-scoped but slightly thin, as it lacks tools for interactive operations like testing API calls or managing configurations, which could enhance completeness.

Completeness4/5

The tool set provides comprehensive coverage for accessing NicePay documentation resources, including API endpoints, code examples, SDK methods, and document search. However, it is limited to read-only operations; there are no tools for executing API calls or handling payments, which might be expected in a payment integration context, leaving minor gaps for agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables LLMs to search and retrieve OwlPay documentation directly through natural language queries. Accelerates system integration by providing instant access to OwlPay API documentation and guides.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with access to comprehensive Safaricom Daraja API documentation for all 22 M-Pesa APIs through searchable tools, enabling developers to query payment processing, transaction management, and business operations documentation.
    15
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and reading of PortOne documentation, including OpenAPI schemas and product guides, through the Model Context Protocol. It allows AI agents to easily access and integrate payment-related technical specifications into their workflows.
    22
    ISC
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding tools to search and retrieve Bootpay payment and commerce developer documentation, including integration guides and customer service manuals. It facilitates tasks such as payment linking, billing key issuance, and webhook configuration through natural language queries.
    2
    -

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/FaithCoderLab/nicepay-mcp'

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