Papierkram

Um servidor MCP (Model Context Protocol) para a API de contabilidade do Papierkram.de. Permite que assistentes de IA gerenciem faturas, despesas, contatos, projetos, controle de horas e muito mais diretamente na sua conta Papierkram.

Documentação

Papierkram MCP Server

License: MIT TypeScript MCP

Um servidor MCP (Model Context Protocol) para a API de contabilidade do Papierkram.de. Permite que assistentes de IA gerenciem faturas, despesas, contatos, projetos, controle de horas e muito mais diretamente na sua conta Papierkram.

Recursos

  • 56 ferramentas cobrindo toda a API v1 do Papierkram
  • Instalação via npm: execute diretamente com npx papierkram-mcp-server — sem necessidade de clonar
  • Dois transportes: stdio (para Claude Desktop, Cursor, Claude Code) e HTTP/SSE (para n8n, integrações personalizadas)
  • Pronto para Docker para fácil implantação auto-hospedada
  • TypeScript com validação de esquema Zod em todos os parâmetros

Visão Geral das Ferramentas

ÁreaOperaçõesContagem
ContatosEmpresas e pessoas de contato: listar, obter, criar, atualizar, excluir10
Faturaslistar, obter, criar, atualizar, excluir, cancelar, arquivar, enviar, baixar PDF9
Orçamentoslistar, obter, criar, atualizar, excluir, enviar, baixar PDF7
Despesaslistar, obter, criar, atualizar, excluir5
Projetoslistar, obter, criar, atualizar, excluir, arquivar, desarquivar7
Controle de Horaslistar, obter, criar, atualizar, excluir5
Tarefaslistar, obter, criar, atualizar, excluir5
Bancolistar, obter conexões bancárias e transações (somente leitura)4
ContaInformações da conta, condições de pagamento, propostas4

Início Rápido

Pré-requisitos

Obtenha sua Chave de API

Vá em Papierkram > Einstellungen > API e crie uma chave de API.

Opção A: npm (recomendado)

Sem necessidade de clonar — execute diretamente com npx:

npx papierkram-mcp-server

Ou instale globalmente:

npm install -g papierkram-mcp-server
papierkram-mcp-server

O servidor usa stdio por padrão; defina PAPIERKRAM_API_KEY e PAPIERKRAM_SUBDOMAIN no seu ambiente ou na configuração do seu cliente MCP (veja Uso).

Opção B: Docker (HTTP/SSE auto-hospedado)

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

O servidor HTTP/SSE estará disponível em http://localhost:3001/sse.

Opção C: Node.js a partir do código-fonte

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

Configuração

Crie um arquivo .env (ou copie de .env.example):

PAPIERKRAM_API_KEY=your-api-key-here
PAPIERKRAM_SUBDOMAIN=your-subdomain
PORT=3001  # optional, only for HTTP/SSE mode

Seu subdomínio é a parte antes de .papierkram.de na sua URL do Papierkram.

Uso

Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "papierkram": {
      "command": "npx",
      "args": ["-y", "papierkram-mcp-server"],
      "env": {
        "PAPIERKRAM_API_KEY": "your-api-key",
        "PAPIERKRAM_SUBDOMAIN": "your-subdomain"
      }
    }
  }
}

Instalou a partir do código-fonte? Use "command": "node" com "args": ["/absolute/path/to/papierkram-mcp-server/dist/index.js"].

Claude Code (CLI)

Adicione ao seu ~/.claude.json:

{
  "mcpServers": {
    "papierkram": {
      "command": "npx",
      "args": ["-y", "papierkram-mcp-server"],
      "env": {
        "PAPIERKRAM_API_KEY": "your-api-key",
        "PAPIERKRAM_SUBDOMAIN": "your-subdomain"
      }
    }
  }
}

Cursor

Adicione às configurações do seu Cursor MCP com a mesma configuração do Claude Desktop.

HTTP/SSE (para n8n ou clientes personalizados)

# Development
npm run dev:http

# Production
npm run start:http

# Docker
docker compose up -d

Conecte seu cliente MCP a http://localhost:3001/sse.

Desenvolvimento

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/

Estrutura do Projeto

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) + shared helpers
├── api/
│   ├── client.ts         # HTTP client with auth, timeout & error handling
│   ├── errors.ts         # API/network errors -> actionable UserError messages
│   └── format.ts         # Tool-output size guard (truncation)
└── config/
    └── index.ts          # Environment configuration

Contribuindo

Contribuições são bem-vindas! Abra uma issue ou pull request.

Licença

MIT - Wagner-Emden IT Services