NicePay MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NicePay MCP Servershow me how to implement payment cancellation in JavaScript"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
설치 방법
프로젝트 디렉토리로 이동:
cd mcp-server의존성 설치:
npm install빌드:
npm run build사용 방법
Cursor IDE 설정
Cursor 설정 파일(
.cursorrules또는 MCP 설정)을 엽니다.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 toolsget_api_endpointC
특정 API 엔드포인트의 상세 정보를 조회합니다. 메서드, URL, 파라미터, 예시 등을 제공합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint_name | Yes | 조회할 API 엔드포인트 이름 (예: "결제 승인", "거래 조회" ,"취소" 등) |
TDQS
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.
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.
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.
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.
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.
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 사용 예시 코드를 제공합니다. 언어별로 코드 샘플을 조회할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | 코드 샘플을 찾을 주제 (예: "결제창 호출", "Basic 인증", "결제 승인" 등) | |
| language | No | 언어 (선택사항, 예 "javascript", "python", "curl" 등) |
TDQS
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.
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.
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.
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.
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.
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() 등의 메서드 사용법을 제공합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| method_name | Yes | 조회할 SDK 메서드 이름 (예: "requestPay", "cancelPay" 등) |
TDQS
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.
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.
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.
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.
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.
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
나이스페이 개발자 가이드 문서를 검색합니다. 키워드로 관련 문서를 찾을 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 검색할 키워드 (예: "결제창", "취소", "웹훅", "API" 등) |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
- First observed
get_api_endpoint - First observed
get_code_sample - First observed
get_sdk_method - First observed
search_nicepay_docs
TDQS
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.
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.
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.
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
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
Search PayU docs, browse the payment integration catalog, and fetch production-ready code.
Search the Final POS REST API documentation.
Search Checkout.com docs and API reference, plus manage payments, refunds, and payment links.
Search the SiteGPT documentation: setup, features, API reference, troubleshooting.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables 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.1MIT
- AlicenseNot gradedqualityDmaintenanceProvides 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.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.22ISC
- FlicenseNot gradedqualityCmaintenanceEnables 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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