原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

ANAF SPV

作者:foreverworks版本 0.1.2i★ –i在你的电脑上运行
注册名称com.foreverworks/anaf-spv

安装

概览

作者提供的说明(英文原文)

Download what ANAF posts to your SPV inbox, request documents, and validate or file declarations.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 聊天与邮件

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: ANAF_SPV_USERNAME, ANAF_SPV_PASSWORD_FILE, ANAF_SPV_MAIL_MCP_URL, ANAF_SPV_MAIL_MCP_TOKEN_FILE, ANAF_SPV_MAIL_MCP_COMMAND

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "anaf-spv": {
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-anaf-spv"
      ],
      "env": {
        "ANAF_SPV_USERNAME": "your-value",
        "ANAF_SPV_PASSWORD_FILE": "your-value",
        "ANAF_SPV_MAIL_MCP_URL": "your-value",
        "ANAF_SPV_MAIL_MCP_TOKEN_FILE": "your-value",
        "ANAF_SPV_MAIL_MCP_COMMAND": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add anaf-spv --env ANAF_SPV_USERNAME=your-value --env ANAF_SPV_PASSWORD_FILE=your-value --env ANAF_SPV_MAIL_MCP_URL=your-value --env ANAF_SPV_MAIL_MCP_TOKEN_FILE=your-value --env ANAF_SPV_MAIL_MCP_COMMAND=your-value -- npx -y @foreverworks/mcp-anaf-spv

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "anaf-spv": {
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-anaf-spv"
      ],
      "env": {
        "ANAF_SPV_USERNAME": "your-value",
        "ANAF_SPV_PASSWORD_FILE": "your-value",
        "ANAF_SPV_MAIL_MCP_URL": "your-value",
        "ANAF_SPV_MAIL_MCP_TOKEN_FILE": "your-value",
        "ANAF_SPV_MAIL_MCP_COMMAND": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "anaf-spv": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-anaf-spv"
      ],
      "env": {
        "ANAF_SPV_USERNAME": "your-value",
        "ANAF_SPV_PASSWORD_FILE": "your-value",
        "ANAF_SPV_MAIL_MCP_URL": "your-value",
        "ANAF_SPV_MAIL_MCP_TOKEN_FILE": "your-value",
        "ANAF_SPV_MAIL_MCP_COMMAND": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • ANAF_SPV_USERNAME env
    Your SPV user name, when the password comes from a file.
  • ANAF_SPV_PASSWORD_FILE env
    Path of a file holding your SPV password. The README also shows how to read it from a vault MCP server instead.
  • ANAF_SPV_MAIL_MCP_URL env
    A mail MCP server over Streamable HTTP that reads the mailbox SPV sends its codes to, so a sign-in reads the code by itself. Without one (or a command below), every sign-in asks you for the code.
  • ANAF_SPV_MAIL_MCP_TOKEN_FILE env
    Path of a file holding that mail server's bearer token, if it wants one.
  • ANAF_SPV_MAIL_MCP_COMMAND env
    Instead of a URL: a mail MCP server to start over stdio, as a JSON array such as ["npx","-y","some-mail-mcp"].

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 foreverworks.com 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“聊天与邮件”中的其他服务器比较i

  • 星标数多于此分类中其他 1856 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1856 个服务器的 82% 更新
  • 基础检查结果等于或优于此分类中其他 1856 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

ANAF SPV 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.1.2)于5天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Vexa

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

作者:Vexa-ai广泛使用★ 29492个月前更新

在云端运行✓ vexa.ai

emailmd

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

作者:anypost正在增长↓ 5342/周★ 138533天前更新

电脑或云端✓ emailmd.dev

MCP WhatsApp Cloud

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

作者:codespar起步阶段↓ 63/周★ 2775个月前更新

在你的电脑上运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

ANAF SPV MCP server

Read and keep what ANAF posts to your Spațiul Privat Virtual (pfinternet.anaf.ro) from your AI assistant: decisions, summonses, notifications, payment confirmations and answers. It also requests documents, writes to ANAF through SPV's contact form (a dry run unless you say otherwise), validates declarations and files a D212. Nothing here moves money; the one money tool, submit_declaration, files a declaration, and your client asks you before each call.

You need an SPV account for a person ("persoană fizică") that signs in with a user name and password, not a qualified certificate; its password in a file or a vault MCP server; and a mail MCP server that reads the mailbox SPV sends sign-in codes to (without one, someone types each code). Validating a declaration also needs Java 8 or newer. ANAF has no API for such an account, so the server reads SPV's web pages.

What you can ask

  • "Is there anything new from ANAF in my SPV?"
  • "Download the decision ANAF posted last week into my 2026-10 folder."
  • "Ask ANAF for my Obligatii de plata statement and save it when it arrives."
  • "Save every SPV document I have not saved yet."
  • "Check the D300 for September in d300-2026-09.xml with ANAF's validator. How much VAT does it make payable?"
  • "What is the status of the filing INTERNT-123456789-2026?"

Install

%2C%20every%20sign-in%20asks%20you%20for%20the%20code.%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22anaf_spv_mail_mcp_token_file%22%2C%22description%22%3A%22Optional.%20Path%20of%20a%20file%20holding%20that%20mail%20server's%20bearer%20token%2C%20if%20it%20wants%20one.%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22anaf_spv_mail_mcp_command%22%2C%22description%22%3A%22Optional.%20Instead%20of%20a%20URL%3A%20a%20mail%20MCP%20server%20to%20start%20over%20stdio%2C%20as%20a%20JSON%20array%20such%20as%20%5B%5C%22npx%5C%22%2C%5C%22-y%5C%22%2C%5C%22some-mail-mcp%5C%22%5D.%22%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40foreverworks%2Fmcp-anaf-spv%22%5D%2C%22env%22%3A%7B%22ANAF_SPV_USERNAME%22%3A%22%24%7Binput%3Aanaf_spv_username%7D%22%2C%22ANAF_SPV_PASSWORD_FILE%22%3A%22%24%7Binput%3Aanaf_spv_password_file%7D%22%2C%22ANAF_SPV_MAIL_MCP_URL%22%3A%22%24%7Binput%3Aanaf_spv_mail_mcp_url%7D%22%2C%22ANAF_SPV_MAIL_MCP_TOKEN_FILE%22%3A%22%24%7Binput%3Aanaf_spv_mail_mcp_token_file%7D%22%2C%22ANAF_SPV_MAIL_MCP_COMMAND%22%3A%22%24%7Binput%3Aanaf_spv_mail_mcp_command%7D%22%7D%7D)

With Claude Code:

claude mcp add anaf-spv -- npx -y @foreverworks/mcp-anaf-spv

Claude Desktop (Settings, Developer, Edit Config) and most other clients read the same command as JSON:

{

"mcpServers": { "anaf-spv": { "command": "npx", "args": ["-y", "@foreverworks/mcp-anaf-spv"] } } }

Each runs the published package on Node 22.19 or newer. VS Code and the Claude Desktop bundle ask for each setting as they add the server; leave an optional one empty. Cursor reads each from your environment instead (${env:ANAF_SPV_USERNAME} and so on), so set them before you start Cursor. Every setting is optional; Configuration says which ones you need for which tools.

From a clone
git clone https://github.com/foreverworks/mcps.git && cd mcps

npm ci && npm run build claude mcp add anaf-spv -- node "$PWD/servers/anaf-spv/dist/index.js"

In a JSON configuration, the command is node and its one argument the full path of servers/anaf-spv/dist/index.js. To share one running copy between several clients over HTTP, see docs/deploying.md.

A complete configuration, with this repository's bitwarden and google servers over HTTP as the vault and the mailbox:

claude mcp add anaf-spv \

-e ANAF_SPV_VAULT_MCP_URL=http://127.0.0.1: /mcp \ -e ANAF_SPV_VAULT_MCP_TOKEN_FILE= \ -e ANAF_SPV_VAULT_ITEM= \ -e ANAF_SPV_MAIL_MCP_URL=http://127.0.0.1: /mcp \ -e ANAF_SPV_MAIL_MCP_TOKEN_FILE= \ -e ANAF_SPV_MAIL_ACCOUNT= \ -- npx -y @foreverworks/mcp-anaf-spv

docs/onboarding.md walks through the setup, with other vault and mail servers or with codes typed by hand. Over HTTP, one running copy holds one session for every client, so fewer code e-mails go out.

Configuration

Every variable is optional for the server to start: a tool that needs one says which, and health lists what is missing.

Where the password comes from

A vault or a file. Prefer a vault: the password then lives in one place, and a rotation is a change there and nothing else.

VariableRequiredMeaning
ANAF_SPV_VAULT_MCP_URLone sourceA vault MCP server over Streamable HTTP that holds the SPV login.
ANAF_SPV_VAULT_MCP_TOKEN_FILEif the vault wants oneFile holding its bearer token (ANAF_SPV_VAULT_MCP_TOKEN for a local run).
ANAF_SPV_VAULT_MCP_COMMANDinstead of the URLA vault MCP server to spawn over stdio: a JSON array (["npx","-y","some-vault-mcp"]) or words. It gets this process's environment without the ANAF_SPV_* and MCP_* variables and CREDENTIALS_DIRECTORY.
ANAF_SPV_VAULT_ITEMwith a vaultThe vault item holding the SPV login (its id).
ANAF_SPV_VAULT_TOOLnoThe tool that hands out a password. Default get_password (this repository's bitwarden server).
ANAF_SPV_VAULT_ARGSnoIts arguments, a JSON template with {{item}}. Default {"id":"{{item}}"}.
ANAF_SPV_VAULT_PASSWORD_FIELDnoWhere the password is in its JSON answer, a dot path. Default password; . takes the whole answer.
ANAF_SPV_VAULT_USERNAME_FIELDnoWhere the user name is. Default username.
ANAF_SPV_PASSWORD_FILEthe other sourceFile holding the SPV password, mode 0600 (ANAF_SPV_PASSWORD for a local run).
ANAF_SPV_USERNAMEwith the fileThe SPV user name. With a vault, it overrides the item's.
Where the e-mailed code comes from

A mail MCP server, read by a driver chosen at each sign-in (The mail drivers). Without one, every sign-in waits for complete_login.

VariableRequiredMeaning
ANAF_SPV_MAIL_MCP_URLfor automatic sign-inA mail MCP server over Streamable HTTP that reads the mailbox SPV sends codes to.
ANAF_SPV_MAIL_MCP_TOKEN_FILEif it wants oneFile holding its bearer token (ANAF_SPV_MAIL_MCP_TOKEN for a local run).
ANAF_SPV_MAIL_MCP_COMMANDinstead of the URLA mail MCP server to spawn over stdio, as for the vault.
ANAF_SPV_MAIL_DRIVERnoauto (the default with a mail server), google, text, or manual (the default without one).
ANAF_SPV_MAIL_ACCOUNTnoWhich mailbox, for a server that holds several (the google driver's account; {{account}} in a template).
ANAF_SPV_MAIL_QUERYnoThe search, in Gmail's syntax by default: from:Autentificare.SpatiuPrivat@anaf.ro subject:"Cod de siguranta" newer_than:1d.
ANAF_SPV_MAIL_SEARCH_TOOLnoThe text driver's search tool. Default: the server's tool that looks like a mail search.
ANAF_SPV_MAIL_SEARCH_ARGSnoIts arguments, a JSON template with {{query}} and {{account}}, for a tool that needs more than a query.
ANAF_SPV_CODE_WAIT_SECnoHow long a sign-in waits for the code to reach the mailbox. Default 90, at most 280 (SPV honours a code for 300).
Everything else
VariableRequiredMeaning
ANAF_SPV_KEEPALIVE_MINnoLoad a page every N minutes while a session is stored, so SPV's idle timeout does not end it (each new sign-in e-mails a code). 0, the default, is off.
ANAF_SPV_STATE_DIRnoWhere session.json, pending.json, synced.json, contact.json, cui-only.json, declarations.json and formularespv-pf's forms-session.json live, all 0600; the default is in docs/configuration.md. It holds a live session: keep it readable by the server's user only.
ANAF_SPV_DOWNLOADS_DIRnoThe outbox downloads land in. Default /downloads.
ANAF_SPV_JAVAfor declarationsThe Java runtime ANAF's DUKIntegrator runs on (8 or newer). Default java.
ANAF_SPV_DUK_DIRnoWhere DUKIntegrator kits are built and kept, one per form and package. Default /duk.
ANAF_SPV_PORTALnoThe portal. Default https://pfinternet.anaf.ro.
ANAF_SPV_FORMS_PORTALnoWhere a person files declarations, a sign-in of its own. Default https://formularespv-pf.anaf.ro.
ANAF_SPV_STATUS_SERVICEnoANAF's public status service for filings. Default https://stare.anaf.ro/StareD112.

A file a tool takes (a declaration's XML, an attachment) goes in byte for byte, by path only, from the server's file roots (MCP_FILE_ROOTS). Files come out into the outbox at mode 0640, whole or not at all, and never over a file holding other bytes (that one gets the next numbered name); a save_dir must be a folder inside it. Under MCP_EGRESS_ALLOW, allow pfinternet.anaf.ro, formularespv-pf.anaf.ro, static.anaf.ro, stare.anaf.ro and the vault and mail servers' hosts. The variables every server shares are in docs/configuration.md.

Getting the SPV account ready
  1. Check that the account signs in at pfinternet.anaf.ro with a user name and password. A person registers one on anaf.ro, online with an identity document or at an ANAF office.
  2. Find the mailbox SPV sends codes to (the address in SPV's "Editare profil"): it holds "Cod de siguranta" mails from Autentificare.SpatiuPrivat@anaf.ro.
  3. Have the account holder put the user name and password in a vault item, or the password in a file only the server's user can read, rather than

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx