Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
제작자가 쓴 설명(영어 원문)
Bulgarian accounting platform nula.bg: invoices, bills, OCR, customers, inventory and banking.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
NULA_API_KEY, NULA_READ_ONLY, NULA_PROFILES비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
링크는 제작자의 파일로 바로 연결돼요. 우리가 보관하거나 다시 패키징하지 않아요. 파일을 열면 Claude Desktop이 설치해요.
터미널에서 이 명령어를 실행하세요
claude mcp add nulabg --env NULA_API_KEY=your-value --env NULA_READ_ONLY=your-value --env NULA_PROFILES=your-value -- npx -y nulabg-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"nulabg": {
"command": "npx",
"args": [
"-y",
"nulabg-mcp"
],
"env": {
"NULA_API_KEY": "your-value",
"NULA_READ_ONLY": "your-value",
"NULA_PROFILES": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"nulabg": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"nulabg-mcp"
],
"env": {
"NULA_API_KEY": "your-value",
"NULA_READ_ONLY": "your-value",
"NULA_PROFILES": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
NULA_READ_ONLY env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 encorp-io 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: NULA_API_KEY, NULA_PROFILES
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0)은 43일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js, MCPB도 있어야 해요.
같은 카테고리에는: Finance Toolkit, SolidInvoice, Korea Tax Calculator
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
MCP сървър за счетоводната платформа nula.bg. Дава на Claude и на други AI асистенти (Claude Desktop, Claude Code, Cursor, VS Code…) достъп до вашите фактури, покупки, OCR, клиенти, склад и банки чрез nula.bg API ключ.
Неофициален клиент. Проектът не е свързан с nula.bg. Работи върху публичното им REST API.
🇬🇧 In English: an MCP server for nula.bg, a Bulgarian cloud accounting platform — invoices, bills with OCR, customers, inventory, bank feeds and derived reports, over an API key. Read-only by default. Install the
.mcpbbundle in Claude Desktop, or runnpx -y nulabg-mcpwithNULA_API_KEYset. The rest of this README is in Bulgarian, because the platform, its documents and its users are; the tool descriptions the model sees are in English. Issues and pull requests in either language are welcome.
| Модул (toolset) | Tools | Какво прави |
|---|---|---|
core | nula_lookup_company | Справка за фирма по ЕИК или ДДС номер (Търговски регистър / VIES) |
invoices | nula_search_invoices, nula_create_invoice, nula_update_invoice, nula_update_invoice_metadata, nula_get_invoice_pdf, nula_email_invoice, nula_delete_last_invoice | Търсене, издаване (с preview), редакция, платена/изпратена, категории, прикачени файлове, PDF, изпращане по имейл, изтриване на последната фактура |
bills | nula_search_bills, nula_create_bill, nula_update_bill_categories | Покупки, вкл. протоколи по чл.117 ЗДДС |
ocr | nula_ocr_upload, nula_ocr_status | Качване на до 10 документа от диска, изчакване на разпознаването, квота |
customers | nula_search_customers | Клиенти и контрагенти |
inventory | nula_search_items, nula_list_item_categories | Артикули, цени, сметки, наличности |
banking | nula_list_bank_accounts, nula_list_bank_transactions | Банкови сметки и движения |
insights | nula_receivables_report, nula_period_summary, nula_match_bank_transactions | Вземания с aging, обобщение за месец, предложения за равнение банка ↔ фактура |
nra (изкл.) | nula_nra_declarations, nula_nra_refresh_result | Статус на декларациите към НАП (без подаване) |
noi (изкл.) | nula_noi_documents, nula_noi_get_document | Документи към НОИ (Прил. 9/10/11) |
21 tools при разрешени промени, 13 в режим само за четене (по подразбиране), 25 с включени nra и noi. При няколко фирми се появява и nula_list_companies.
Освен това има:
issue-invoice, process-receipts, month-end-review, collect-overdue.Примерни заявки:
Нужен е API ключ от nula.bg, генериран от вашия акаунт в nula.bg. Ключът дава достъп до данните на фирмата, затова го пазете като парола.
🔒 По подразбиране сървърът е само за четене. Claude може да търси и чете, но не може да създава, редактира, изпраща или трие нищо в nula.bg. Така тестването и оценката са безопасни. За да разрешите промени, задайте
NULA_READ_ONLY=false(в Claude Desktop: махнете отметката „Само четене“ в настройките на разширението).
nulabg-mcp-<версия>.mcpb от Releases.Node.js не е нужен, защото Claude Desktop го съдържа.
claude mcp add nulabg --scope user --env NULA_API_KEY=<вашият-ключ> -- npx -y nulabg-mcp
С право на промени (след като сте тествали):
claude mcp add nulabg --scope user --env NULA_API_KEY=<вашият-ключ> --env NULA_READ_ONLY=false -- npx -y nulabg-mcp
~/.cursor/mcp.json или claude_desktop_config.json:
{
"mcpServers": { "nulabg": { "command": "npx", "args": ["-y", "nulabg-mcp"], "env": { "NULA_API_KEY": "<вашият-ключ>" } } } }
.vscode/mcp.json. Ключът се иска при стартиране и не се записва във файла:
{
"inputs": [{ "type": "promptString", "id": "nula-key", "description": "nula.bg API key", "password": true }], "servers": { "nulabg": { "command": "npx", "args": ["-y", "nulabg-mcp"], "env": { "NULA_API_KEY": "${input:nula-key}" } } } }
Проверка на ключа от терминала:
NULA_API_KEY=<вашият-ключ> npx -y nulabg-mcp --check
| Променлива | По подразбиране | Описание |
|---|---|---|
NULA_API_KEY | — | API ключ (задължителен, освен ако не ползвате NULA_PROFILES) |
NULA_READ_ONLY | `true` | Само четене. Промени в nula.bg се разрешават само с изрично false (0, no, off). Всяка друга стойност, вкл. грешно изписана, оставя режима само за четене |
NULA_TOOLSETS | core,invoices,bills,ocr,customers,inventory,banking,insights | Кои модули да са активни; all включва и nra, noi |
NULA_CONFIRM_WRITES | elicit | Потвърждение в клиента преди създаване, изпращане и изтриване (ако клиентът поддържа elicitation); never го изключва |
NULA_DEFAULT_CURRENCY | EUR | Валута за нови документи |
NULA_DEFAULT_LANGUAGE | bg | Език на PDF и имейл (bg / en) |
NULA_DEFAULT_INVOICE_CATEGORY | — | Категория за нови фактури (nula.bg изисква поне една) |
NULA_DOWNLOAD_DIR | ~/Downloads/nula | Къде се записват PDF и XML |
NULA_FILE_ROOTS | ~ | Папки, от които може да се качват файлове (разделени с :, на Windows с ;) |
NULA_PROFILES | — | Няколко фирми: {"firma-a":"ключ1","firma-b":"ключ2"} или път до JSON файл |
NULA_DEFAULT_PROFILE | default или първият | Фирма по подразбиране при NULA_PROFILES |
NULA_BILL_CALLBACK_URL | https://nula.bg/ | Адрес, който nula.bg уведомява след създаване на покупка (вижте „Ограничения“) |
NULA_BASE_URL | https://nula.bg | |
NULA_TIMEOUT_MS / NULA_MAX_CONCURRENCY / NULA_LOG_LEVEL | 30000 / 4 / info |
NULA_PROFILES='{"alfa":"ключ-1","beta":"ключ-2"}' NULA_DEFAULT_PROFILE=alfa npx -y nulabg-mcp
Всеки tool получава параметър company, а nula_list_companies показва наличните фирми без ключовете.
nula_create_invoice и nula_create_bill имат preview_only. Асистентът е инструктиран първо да покаже номер, редове и суми и да изчака потвърждение.destructive, така че клиентите искат одобрение.expected_number), отказва, ако последната е друга, и отказва предварително, ако фактурата е осчетоводена (виж „Ограничения“).NULA_FILE_ROOTS, без скрити папки, до 10 MB. URL-и се приемат само https, без локални и вътрешни адреси.NULA_READ_ONLY=false, tools, които създават, променят, изпращат или трият, изобщо не се регистрират, така че Claude не може да ги извика. При грешно изписана стойност сървърът остава само за четене./open-cart/products/{sku} и getItemDetails връщат 404 дори за съществуващи артикули, а филтърът search не търси по SKU./ocr/bill/{id} работи само за документи, минали през OCR; за останалите сървърът намира покупката в списъка.nula_update_invoice_metadata иска и двата флага (is_paid и is_sent) или номера на фактурата.DELETE /api/v1/deleteInvoice се вика без параметри и трие последната издадена фактура, но връща HTTP 403 (с празно съобщение) за осчетоводен документ. Във фирма със счетоводен модул всички фактури излизат с has_accounting: true, тоест изтриването не минава и документът се маха ръчно от уеб приложението или с кредитно известие. Tool-ът проверява това предварително, вместо да праща обречена заявка.createBill изисква callback_url. По подразбиране се подава адресът на самия nula.bg, така че данни не излизат към трети страни. Ако имате собствен webhook, задайте NULA_BILL_CALLBACK_URL.npm install
npm run build # TypeScript → dist/ npm test # unit + протоколни тестове (Vitest, фалшив nula.bg API) npm run lint # Biome npm run inspect # MCP Inspector срещу dist/cli.js npm run pack:mcpb # Claude Desktop bundle → nulabg-mcp-<версия>.mcpb node dist/cli.js --list-tools
Стек:
@modelcontextprotocol/server 2.x (MCP spec 2026-07-28, съвместим и с клиенти от 2025 г.);Архитектура и решения: docs/SPEC.md. Проучване: docs/research/.
Release: стъпките и предварителните проверки са в docs/RELEASING.md. Накратко: вдигате версията в package.json, обновявате CHANGELOG.md и пускате tag vX.Y.Z; GitHub Actions публикува в npm с provenance, прикачва .mcpb към GitHub Release и обновява MCP Registry.
Issues и pull requests са добре дошли — на български или на английски. Най-полезни са докладите за несъответствия с истинското API (имена и типове на полета, без реални данни), защото официалната документация описва почти само заявките.
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요