Install
$ agentstack add mcp-wagner-emden-it-services-papierkram-mcp-server ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Papierkram MCP Server
[](LICENSE) [](https://www.typescriptlang.org/) [](https://modelcontextprotocol.io/)
An MCP (Model Context Protocol) server for the Papierkram.de accounting API. Enables AI assistants to manage invoices, expenses, contacts, projects, time tracking and more directly in your Papierkram account.
Features
- 56 tools covering the full Papierkram API v1
- Two transports: stdio (for Claude Desktop, Cursor, Claude Code) and HTTP/SSE (for n8n, custom integrations)
- Docker ready for easy self-hosted deployment
- TypeScript with Zod schema validation on all parameters
Tools Overview
| Area | Operations | Count | |------|-----------|:-----:| | Contacts | Companies & contact persons: list, get, create, update, delete | 10 | | Invoices | list, get, create, update, delete, cancel, archive, send, download PDF | 9 | | Estimates | list, get, create, update, delete, send, download PDF | 7 | | Expenses | list, get, create, update, delete | 5 | | Projects | list, get, create, update, delete, archive, unarchive | 7 | | Time Tracking | list, get, create, update, delete | 5 | | Tasks | list, get, create, update, delete | 5 | | Banking | list, get bank connections & transactions (read-only) | 4 | | Account | Account info, payment terms, propositions | 4 |
Quick Start
Prerequisites
- Node.js 18+ (or Docker)
- A Papierkram.de account with API access
Get your API Key
Go to Papierkram > Einstellungen > API and create an API key.
Option A: Docker (recommended)
git clone https://github.com/Wagner-Emden-IT-Services/papierkram-mcp-server.git
cd papierkram-mcp-server
cp .env.example .env
# Edit .env with your API key and subdomain
docker compose up -d
The HTTP/SSE server will be available at http://localhost:3001/sse.
Option B: Node.js
git clone https://github.com/Wagner-Emden-IT-Services/papierkram-mcp-server.git
cd papierkram-mcp-server
npm install
cp .env.example .env
# Edit .env with your API key and subdomain
npm run build
Configuration
Create a .env file (or copy from .env.example):
PAPIERKRAM_API_KEY=your-api-key-here
PAPIERKRAM_SUBDOMAIN=your-subdomain
PORT=3001 # optional, only for HTTP/SSE mode
Your subdomain is the part before .papierkram.de in your Papierkram URL.
Usage
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"papierkram": {
"command": "node",
"args": ["/absolute/path/to/papierkram-mcp-server/dist/index.js"],
"env": {
"PAPIERKRAM_API_KEY": "your-api-key",
"PAPIERKRAM_SUBDOMAIN": "your-subdomain"
}
}
}
}
Claude Code (CLI)
Add to your ~/.claude.json:
{
"mcpServers": {
"papierkram": {
"command": "node",
"args": ["/absolute/path/to/papierkram-mcp-server/dist/index.js"],
"env": {
"PAPIERKRAM_API_KEY": "your-api-key",
"PAPIERKRAM_SUBDOMAIN": "your-subdomain"
}
}
}
}
Cursor
Add to your Cursor MCP settings with the same configuration as Claude Desktop.
HTTP/SSE (for n8n or custom clients)
# Development
npm run dev:http
# Production
npm run start:http
# Docker
docker compose up -d
Connect your MCP client to http://localhost:3001/sse.
Development
npm run dev # stdio mode with hot reload
npm run dev:http # HTTP/SSE mode with hot reload
npm run build # compile TypeScript to dist/
Project Structure
src/
├── index.ts # Stdio entry point
├── server/
│ ├── server.ts # MCP server setup + tool registration
│ └── http-server.ts # HTTP/SSE entry point
├── core/tools/ # Tool definitions (one file per API area)
├── api/
│ ├── client.ts # HTTP client with auth & error handling
│ └── types.ts # TypeScript types
└── config/
└── index.ts # Environment configuration
Contributing
Contributions are welcome! Please open an issue or pull request.
License
[MIT](LICENSE) - Wagner-Emden IT Services
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Wagner-Emden-IT-Services
- Source: Wagner-Emden-IT-Services/papierkram-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.