---
title: "Arne Kellmann — API & MCP"
description: "Published Arne Kellmann website information and agent integration guidance."
canonical: https://arnekellmann.de/de/developers
last-updated: 2026-09-07
---

# Arne Kellmann — API & MCP

Öffentliche, schlüssellose Schnittstellen für Leistungsinformationen und Dokumentation.

GET /api/v1/services?language=en — list_services. Languages: en, de. The full small catalog is returned in one response; no pagination is needed.

POST /api/v1/documents/batch — JSON {"paths":["/pricing.md","/auth.md"]}. Read up to ten documents, maximum 4096 request bytes. Results preserve order and include per-document status. No messages are sent.

POST /mcp — Streamable HTTP MCP: list_services, read_document, search_docs. POST /mcp/docs — search_docs. No tool sends messages or purchases services.

GET /ask?query=architecture&streaming=false — keyword-based NLWeb list mode. POST accepts the same JSON fields. Streaming defaults to true and emits start, result, complete events. No generated summaries or conversational context are supported. Results quote published page text.

Offizielle SDKs: npm install @arnek/arnekellmann-sdk (JavaScript und CLI); python -m pip install arnekellmann-sdk (Python). CLI: npx --package @arnek/arnekellmann-sdk arnekellmann services de. Öffentliche Lesezugriffe benötigen keinen API-Schlüssel.

Quickstart: curl https://arnekellmann.de/api/v1/services?language=en

MCP clients: use https://arnekellmann.de/mcp as a Streamable HTTP server URL; no authorization header. Read the server card at /.well-known/mcp/server-card.json.

POST /api/contact — existing contact form delivery; requires privacy consent and Turnstile when configured. Five attempts per minute per IP per Worker isolate, best effort. Errors include a machine-readable code. Optional Idempotency-Key (16–128 letters, digits, underscores or hyphens) prevents duplicate email delivery through Resend for 24 hours. Reuse the same key and fields with a fresh Turnstile token on retry. Changed payloads or concurrent requests may return 409. Never retry an ambiguous submission without its original key.

Versioning policy: https://arnekellmann.de/api/versioning.md. Read API paths use /api/v1. Existing /api/contact and /api/health remain compatible. Breaking changes use a new major path; any planned removal will be documented here at least 90 days beforehand, with Deprecation and Sunset response headers on affected routes. No retirement is scheduled.

Public read-only sandbox: https://arnekellmann.de/api/sandbox/v1/services (no writes or email delivery). Local test environment: npm ci, npm run dev; use http://localhost:4321/api/v1/services and /mcp. Read tools have no side effects. Contact delivery is not a sandbox: never test with real credentials or real recipient data.

Browser agents: document.modelContext.registerTool exposes list_services, and stage_contact_enquiry when the contact form is present. Staging fills visible fields; user consent and submission remain separate.

Public integration repository (skills, plugin, SDK/CLI source): https://github.com/ArneFfm/arnekellmann-agent-tools. Agent instructions: /agents.md. OpenAPI: /api/openapi.json. Authentication: /auth.md. Pricing: /pricing.md.

## Entwickler-Ressourcen

- [OpenAPI](https://arnekellmann.de/api/openapi.json)
- [Sandbox](https://arnekellmann.de/sandbox)
- [JavaScript SDK and CLI](https://www.npmjs.com/package/@arnek/arnekellmann-sdk)
- [Python SDK](https://pypi.org/project/arnekellmann-sdk/)
- [Public source and installation examples](https://github.com/ArneFfm/arnekellmann-agent-tools)
