프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Pop MCP

제작자: getpopapi버전 2.1.0i★ –i컴퓨터 또는 클라우드
레지스트리 이름io.github.popapidev/pop-mcp

설치

개요

제작자가 쓴 설명(영어 원문)

Italian e-invoicing (FatturaPA/SdI), Peppol, KSeF, ZUGFeRD, and PDF invoice generation via POP

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 컴퓨터 또는 클라우드
  • 전송 방식: stdio, Streamable HTTP
  • 카테고리: 회계, 재무 및 세금
  • 입력해야 할 값: Authorization

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.

또는 내 컴퓨터에서 실행하기

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "pop": {
      "command": "npx",
      "args": [
        "-y",
        "@getpopapi/pop-mcp"
      ]
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http pop https://mcp.popapi.io/mcp --header 'Authorization: your-value'

또는 내 컴퓨터에서 실행하기

claude mcp add pop -- npx -y @getpopapi/pop-mcp

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "pop": {
      "url": "https://mcp.popapi.io/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

또는 내 컴퓨터에서 실행하기

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "pop": {
      "command": "npx",
      "args": [
        "-y",
        "@getpopapi/pop-mcp"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "pop": {
      "type": "http",
      "url": "https://mcp.popapi.io/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

또는 내 컴퓨터에서 실행하기

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "pop": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@getpopapi/pop-mcp"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • Authorization 비밀 필수 HTTP header
    POP license key as a Bearer token, e.g. 'Bearer your_license_key_here'

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ! 주의

    제작자와 저장소 일치

    게시자(popapidev)가 저장소 소유자(getpopapi)가 아니에요. 다른 사람이 등록했을 수 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • ✓ 통과

    엔드포인트 응답

    196ms 만에 응답(HTTP 401)

  • ! 주의

    OAuth로 로그인

    키나 토큰을 직접 복사해서 붙여 넣어야 해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요

회계, 재무 및 세금 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 1735개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 1735개 중 80%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 1735개 중 30%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Pop MCP, 안전한가요?

해당하는 기본 점검 3개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: Authorization

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(2.1.0)은 9일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Finance Toolkit, SolidInvoice, Korea Tax Calculator

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Finance Toolkit

제작자: JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

컴퓨터 또는 클라우드★ 5,496MIT어제 업데이트
설치

SolidInvoice

제작자: SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

클라우드에서 실행★ 981MIT8일 전 업데이트
설치

Korea Tax Calculator

제작자: UpstageAI

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

내 컴퓨터에서 실행★ 97MIT어제 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

pop-mcp

MCP (Model Context Protocol) server for POP — enabling LLMs to generate, submit, and manage Italian e-invoices (FatturaPA/SdI), Peppol, KSeF, ZUGFeRD/Factur-X, and PDF invoices directly from AI assistants.

npm: @getpopapi/pop-mcp · Remote: https://mcp.popapi.io/mcp


Remote MCP (HTTP) — fastest way to get started

Don't want to install anything? pop-mcp runs as a hosted, multi-tenant MCP server at:

https://mcp.popapi.io/mcp

Head to popapi.io to grab a license key, then point any MCP-speaking client at that URL with your key as a Bearer token. No local install, no POP_API_KEY env var, no build step — this is the recommended way to try pop-mcp for most people. Use the local stdio setup below only if you specifically need a Claude Desktop config running a process on your own machine.

How it works

This endpoint speaks MCP 2026-07-28, which is fully stateless: there is no initialize handshake and no session to open or track. Every request is self-contained — it names its own protocol version and capabilities — and the server answers it independently. Because of that, this is a multi-tenant endpoint: it never reads a fixed POP_API_KEY from its own environment. Every request must carry your own POP license key as a Bearer token:

Authorization: Bearer <your_license_key>

A missing or malformed Authorization header returns a 401 with error_code: "unauthorized_user" before any POP API call is made. An invalid-but-well-formed key is passed straight through to POP's API and surfaces whatever error POP returns (unauthorized_user, insufficient_level, etc.) — the server does not re-validate keys itself.

Any modern MCP HTTP client can connect: Claude (remote connector), the OpenAI Responses API, n8n, MCP Inspector, or a custom integration — not just Claude Desktop. All invoice, status, advanced, and onboarding tools are available; onboarding tools use their own onboarding_token per call and don't require the Bearer key.

Example with curl

Discover the server's supported protocol versions and capabilities (optional — clients can also just call tools/list or tools/call directly and handle a version-negotiation error inline):

curl -X POST https://mcp.popapi.io/mcp \

-H "Content-Type: application/json" \ -H "Authorization: Bearer your_license_key_here" \ -H "MCP-Protocol-Version: 2026-07-28" \ -H "Mcp-Method: server/discover" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "server/discover", "params": { "_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientCapabilities": {} } } }'

List the available tools — every request is self-contained, so _meta (protocol version + client capabilities) travels on every call, not just the first one:

curl -X POST https://mcp.popapi.io/mcp \

-H "Content-Type: application/json" \ -H "Authorization: Bearer your_license_key_here" \ -H "MCP-Protocol-Version: 2026-07-28" \ -H "Mcp-Method: tools/list" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": { "_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientCapabilities": {} } } }'

The tool catalog is identical for every license key, so tools/list and server/discover responses carry a one-hour public cache hint (ttlMs: 3600000, cacheScope: "public") — clients and gateways may cache them across tenants.

`MCP-Protocol-Version` and `Mcp-Method` are required on every request (per SEP-2243), and must

match the body's _meta.protocolVersion and method exactly, or the server rejects the request

with a 400 and JSON-RPC error -32020 (HeaderMismatch). tools/call requests additionally

require an Mcp-Name header matching params.name.

Example with MCP Inspector
npx @modelcontextprotocol/inspector

Configure it to connect to https://mcp.popapi.io/mcp with header Authorization: Bearer .

This endpoint runs as a Vercel serverless function (api/mcp.ts → src/mcpHandler.ts). To run it locally: npx vercel dev (requires vercel link to the project first).


What is POP?

POP is a cloud service for electronic invoice generation and delivery, supporting:

  • 🇮🇹 Italian e-invoicing (FatturaPA/SdI) — compliant with D.Lgs. 127/2015
  • 🇪🇺 Peppol — pan-European cross-border B2B invoicing (UBL 2.1)
  • 📄 PDF invoices — branded, with email delivery
  • ✅ Validation — fiscal codes, VAT numbers, document pre-submission checks
  • 🗄️ Preservation — Italian legal archival (conservazione sostitutiva)

Tools Available (11 total)

Invoice Creation
ToolEndpointPlan
pop_create_sdi_invoicePOST /create-xmlAny
pop_create_peppol_invoicePOST /create-ublAny (Basic+ to submit)
pop_create_pdf_invoicePOST /create-pdfAny (Basic+ for email)
pop_create_ksef_invoicePOST /create-ksef-xmlAny (KSeF setup for provider submission)
pop_create_zugferd_invoicePOST /create-zugferdAny
pop_sync_zoho_documentPOST /integration/zoho/syncZoho connector required
Status & Retrieval
ToolEndpointPlan
pop_get_invoice_statusPOST /sdi/document-notificationsAny
pop_get_peppol_documentPOST /peppol/document-getBasic+
pop_get_sdi_documentPOST /sdi/document-getBasic+
Validation & Advanced SdI
ToolEndpointPlan
pop_verify_sdi_documentPOST /sdi/document-verifyBasic+
pop_preserve_documentPOST /sdi/document-preserveBasic+

Prerequisites

  • Node.js >= 20
  • A POP license key
  • For SdI/Peppol submission: active integration on your POP account (Basic/Growth plan)

Authentication

Get Your License Key

New to POP? Visit popapi.io to create your account and get your license key.

API-only users can activate their account and obtain a license_key with this flow:

  1. Open https://popapi.io/otp-login/
  2. Enter your email address
  3. Receive a one-time password (OTP) by email and enter it
  4. Complete the configuration wizard
  5. Open https://popapi.io/ → Account > API
  6. Copy the default generated license_key
Key Management
  • Your account includes one default license_key, visible under Account > API
  • You can generate additional keys linked to the same account from that same page
  • Every license_key must be treated as a secret credential — do not commit it to source control
Recommended First Steps
  1. Get your license_key
  2. Test it with GET /account-profile
  3. Send one document-generation request with a real payload
  4. Add optional delivery integrations only after local generation works

Installation

From npm (recommended)
npm install -g @getpopapi/pop-mcp
From Source
git clone https://github.com/getpopapi/pop-mcp

cd pop-mcp npm install npm run build


Configuration

Set your POP license key as an environment variable:

export POP_API_KEY=your_license_key_here

Optional — use the staging environment:

export POP_ENVIRONMENT=staging

Claude Desktop Setup

Add to your claude_desktop_config.json:

If installed from npm:

{

"mcpServers": { "pop": { "command": "pop-mcp", "env": { "POP_API_KEY": "your_license_key_here" } } } }

If running from source:

{

"mcpServers": { "pop": { "command": "node", "args": ["/path/to/pop-mcp/dist/cli.js"], "env": { "POP_API_KEY": "your_license_key_here" } } } }

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Tool Reference

The license_key is always injected automatically from POP_API_KEY — never pass it manually.

pop_create_sdi_invoice

Generate an Italian FatturaPA XML document. Optionally submit it to the SdI (Sistema di Interscambio).

MCP inputs:

ParameterTypeRequiredDescription
dataobject✅Full invoice data (see Invoice Data Structure)
submit_to_sdiboolean—Set true to submit to SdI. Requires Basic+ plan with active SdI integration. Default: false
integrationobject—Override integration config. Overrides submit_to_sdi if set.
environmentstring—Target environment (e.g. "sandbox")

Integration options for `integration.use`:

  • "sdi-via-pop" or "sdi" — Submit via POP SdI
  • "pop-to-webhook" — Deliver to a webhook (requires id)
  • "fatture-in-cloud" — Deliver to Fatture in Cloud

API payload sent:

{

"license_key": "YOUR_LICENSE_KEY", "user_agent": "pop-mcp", "user_agent_version": "1.0.0", "data": { "...invoice fields..." }, "integration": { "use": "sdi-via-pop", "action": "create" } }

integration is omitted when submit_to_sdi is false and no override is provided (XML-only generation).


pop_create_peppol_invoice

Generate a Peppol UBL 2.1 document. Optionally submit it to the Peppol network.

MCP inputs:

ParameterTypeRequiredDescription
dataobject✅Full invoice data. customer_type must be "company" or "freelance"
submit_to_peppolboolean—Set true to submit to the Peppol network. Requires Basic+ plan. Default: false
integrationobject—Override integration config
environmentstring—Target environment

Integration options for `integration.use`:

  • "peppol-via-pop" or "peppol" — Submit via POP Peppol
  • "pop-to-webhook" — Deliver to a webhook (requires id)

VAT exemption rules specific to Peppol:

  • data.nature is the VAT exemption code (a VATEX code such as VATEX-EU-G, VATEX-EU-IC, VATEX-EU-AE or VATEX-EU-O; these are examples, not a complete list). It stays a free string: the POP API verifies it and answers with a plain-language error.
  • The exemption code comes from the user. The model never chooses, infers (countries, vies, VAT rate) or changes it, and asks when it is missing. An API error is shown to the user and the call is not retried with another code.
  • The API requires data.delivery_data.country (ISO 3166-1 alpha-2, country only, never the address) when the code is VATEX-EU-IC. delivery_data.date (YYYY-MM-DD) is optional and defaults to the document date. A credit note carries the same delivery_data as the invoice it reverses.

API payload sent:

{

"license_key": "YOUR_LICENSE_KEY", "user_agent": "pop-mcp", "user_agent_version": "1.0.0", "data": { "...invoice fields...", "nature": "VATEX-EU-IC", "delivery_data": { "country": "FR" } }, "integration": { "use": "peppol-via-pop", "action": "create" } }


pop_create_pdf_invoice

Generate a branded PDF invoice. Optionally email it to up to 3 recipients.

MCP inputs:

ParameterTypeRequiredDescription
dataobject✅Invoice data. Must include data.pdf for PDF-specific settings

| send_email | boolean | — | Set true to email the PDF (requir

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기