Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者による説明(英語の原文)
Download what ANAF posts to your SPV inbox, request documents, and validate or file declarations.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ANAF_SPV_USERNAME, ANAF_SPV_PASSWORD_FILE, ANAF_SPV_MAIL_MCP_URL, ANAF_SPV_MAIL_MCP_TOKEN_FILE, ANAF_SPV_MAIL_MCP_COMMAND必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
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/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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .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 envANAF_SPV_PASSWORD_FILE envANAF_SPV_MAIL_MCP_URL envANAF_SPV_MAIL_MCP_TOKEN_FILE envANAF_SPV_MAIL_MCP_COMMAND envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名はドメイン foreverworks.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.2)がレジストリに届いたのは5 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Vexa, emailmd, MCP WhatsApp Cloud
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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.
%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.
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.
Every variable is optional for the server to start: a tool that needs one says which, and health lists what is missing.
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.
| Variable | Required | Meaning |
|---|---|---|
ANAF_SPV_VAULT_MCP_URL | one source | A vault MCP server over Streamable HTTP that holds the SPV login. |
ANAF_SPV_VAULT_MCP_TOKEN_FILE | if the vault wants one | File holding its bearer token (ANAF_SPV_VAULT_MCP_TOKEN for a local run). |
ANAF_SPV_VAULT_MCP_COMMAND | instead of the URL | A 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_ITEM | with a vault | The vault item holding the SPV login (its id). |
ANAF_SPV_VAULT_TOOL | no | The tool that hands out a password. Default get_password (this repository's bitwarden server). |
ANAF_SPV_VAULT_ARGS | no | Its arguments, a JSON template with {{item}}. Default {"id":"{{item}}"}. |
ANAF_SPV_VAULT_PASSWORD_FIELD | no | Where the password is in its JSON answer, a dot path. Default password; . takes the whole answer. |
ANAF_SPV_VAULT_USERNAME_FIELD | no | Where the user name is. Default username. |
ANAF_SPV_PASSWORD_FILE | the other source | File holding the SPV password, mode 0600 (ANAF_SPV_PASSWORD for a local run). |
ANAF_SPV_USERNAME | with the file | The SPV user name. With a vault, it overrides the item's. |
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.
| Variable | Required | Meaning |
|---|---|---|
ANAF_SPV_MAIL_MCP_URL | for automatic sign-in | A mail MCP server over Streamable HTTP that reads the mailbox SPV sends codes to. |
ANAF_SPV_MAIL_MCP_TOKEN_FILE | if it wants one | File holding its bearer token (ANAF_SPV_MAIL_MCP_TOKEN for a local run). |
ANAF_SPV_MAIL_MCP_COMMAND | instead of the URL | A mail MCP server to spawn over stdio, as for the vault. |
ANAF_SPV_MAIL_DRIVER | no | auto (the default with a mail server), google, text, or manual (the default without one). |
ANAF_SPV_MAIL_ACCOUNT | no | Which mailbox, for a server that holds several (the google driver's account; {{account}} in a template). |
ANAF_SPV_MAIL_QUERY | no | The search, in Gmail's syntax by default: from:Autentificare.SpatiuPrivat@anaf.ro subject:"Cod de siguranta" newer_than:1d. |
ANAF_SPV_MAIL_SEARCH_TOOL | no | The text driver's search tool. Default: the server's tool that looks like a mail search. |
ANAF_SPV_MAIL_SEARCH_ARGS | no | Its arguments, a JSON template with {{query}} and {{account}}, for a tool that needs more than a query. |
ANAF_SPV_CODE_WAIT_SEC | no | How long a sign-in waits for the code to reach the mailbox. Default 90, at most 280 (SPV honours a code for 300). |
| Variable | Required | Meaning |
|---|---|---|
ANAF_SPV_KEEPALIVE_MIN | no | Load 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_DIR | no | Where 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_DIR | no | The outbox downloads land in. Default /downloads. |
ANAF_SPV_JAVA | for declarations | The Java runtime ANAF's DUKIntegrator runs on (8 or newer). Default java. |
ANAF_SPV_DUK_DIR | no | Where DUKIntegrator kits are built and kept, one per form and package. Default /duk. |
ANAF_SPV_PORTAL | no | The portal. Default https://pfinternet.anaf.ro. |
ANAF_SPV_FORMS_PORTAL | no | Where a person files declarations, a sign-in of its own. Default https://formularespv-pf.anaf.ro. |
ANAF_SPV_STATUS_SERVICE | no | ANAF'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.
Autentificare.SpatiuPrivat@anaf.ro.冒頭だけを表示しています。続きはリポジトリで読めます