Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

ANAF SPV

by foreverworksversion 0.1.2i★ –iRuns on your computer
Registry namecom.foreverworks/anaf-spv

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Chat & email

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ANAF_SPV_USERNAME, ANAF_SPV_PASSWORD_FILE, ANAF_SPV_MAIL_MCP_URL, ANAF_SPV_MAIL_MCP_TOKEN_FILE, ANAF_SPV_MAIL_MCP_COMMAND

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into 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"
      }
    }
  }
}

Run this in your terminal

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

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • 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"].

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain foreverworks.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Chat & emaili

  • More stars than 0% of the other 1855 servers in this category
  • Published to the registry more recently than 82% of the other 1855 servers in this category
  • Basic checks equal to or better than 100% of the other 1855 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is ANAF SPV safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.2) reached the registry 5 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

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

by Vexa-aiWidely used★ 2.9KUpdated 2 months ago

Runs in the cloud✓ vexa.ai

emailmd

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

by anypostGrowing↓ 5.3K/wk★ 1.4KUpdated 32 days ago

Computer or cloud✓ emailmd.dev

MCP WhatsApp Cloud

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

by codesparEarly↓ 63/wk★ 277Updated 5 months ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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

Only the beginning is shown; read the rest in the repo

Ask PopNx