Traktamente (Swedish Travel Expenses)
FreeNot checkedSwedish travel expense rates from Skatteverket for per diem calculations and tax compliance
About
Swedish travel expense rates from Skatteverket for per diem calculations and tax compliance
README
An MCP server that provides access to Swedish traktamente (per diem) rates from Skatteverket's official API.
Features
- 🔍 Query per diem rates by country, year, or country code
- 🌍 Search across all available countries
- 📊 Access official data from Skatteverket
- ⚡ Fast and lightweight implementation using Bun
- 🔒 Type-safe with Zod schema validation
Installation
pnpm install traktamente-mcp
Or with Bun:
bun add traktamente-mcp
Usage
With Claude Desktop
Add this configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"traktamente": {
"command": "npx",
"args": ["traktamente-mcp"]
}
}
}
Restart Claude Desktop, and you'll have access to three new tools:
- get_traktamente - Query per diem rates with filters (country, year, country code)
- get_all_countries - List all available countries
- search_traktamente - Search for countries using regex patterns
With Streamable HTTP (Remote Server)
The server is available as a hosted service at https://traktamente.app/mcp, which you can connect to without installing anything locally.
Claude Code
The easiest way to add the server to Claude Code is using the CLI:
claude mcp add --transport http traktamente https://traktamente.app/mcp
Alternatively, you can manually add it to your Claude Code settings (~/.config/claude/config.json or via UI settings):
{
"mcpServers": {
"traktamente": {
"transport": "http",
"url": "https://traktamente.app/mcp"
}
}
}
Standalone Usage
# Start the server
bun start
# Development mode with hot reload
bun dev
# Test with MCP Inspector (interactive web UI)
bun run inspector
With Docker
The server can run in a Docker container, useful for isolated environments or deployment:
# Build the Docker image
docker build -t traktamente-mcp .
# Run with stdio transport (interactive)
docker run -i traktamente-mcp
# Or use Docker Compose
docker-compose up
Docker with Claude Desktop
To use the Docker container with Claude Desktop, configure it like this:
macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"traktamente": {
"command": "docker",
"args": ["run", "-i", "--rm", "traktamente-mcp"]
}
}
}
Note: You need to build the Docker image first using docker build -t traktamente-mcp . in the project directory.
Available Tools
get_traktamente
Query traktamente rates with optional filters:
land(string, optional): Country name or regex patternår(string, optional): Yearlandskod(string, optional): Country code (e.g., "US", "GB")limit(number, optional): Maximum number of results (default: 100)offset(number, optional): Pagination offset (default: 0)
get_all_countries
List all countries with available per diem data. No parameters required.
search_traktamente
Search for countries using a regex pattern:
search(string, required): Search term or regex patternlimit(number, optional): Maximum number of results (default: 50)
Development
Prerequisites
- Bun runtime (v1.0.0 or later)
Setup
# Clone the repository
git clone https://github.com/johnie/traktamente-mcp.git
cd traktamente-mcp
# Install dependencies
bun install
# Start development server
bun dev
Testing with MCP Inspector
The MCP Inspector provides an interactive web UI for testing the server:
bun run inspector
This will open a browser where you can test all available tools and see real-time responses.
Data Source
This server fetches data from Skatteverket's official API:
- API URL: https://skatteverket.entryscape.net/rowstore/dataset/70ccea31-b64c-4bf5-84c7-673f04f32505
- Data: Per diem rates for international travel
- Language: Swedish (country names and field names)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Use Bun for all commands (not Node.js or npm)
- Follow the existing code style (enforced by Biome)
- Add tests for new features
- Update documentation as needed
License
MIT © Johnie Hjelm
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Acknowledgments
- Data provided by Skatteverket
- Built with Model Context Protocol SDK
- Powered by Bun
Installing Traktamente (Swedish Travel Expenses)
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/johnie/traktamente-mcpFAQ
Is Traktamente (Swedish Travel Expenses) MCP free?
Yes, Traktamente (Swedish Travel Expenses) MCP is free — one-click install via Unyly at no cost.
Does Traktamente (Swedish Travel Expenses) need an API key?
No, Traktamente (Swedish Travel Expenses) runs without API keys or environment variables.
Is Traktamente (Swedish Travel Expenses) hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Traktamente (Swedish Travel Expenses) in Claude Desktop, Claude Code or Cursor?
Open Traktamente (Swedish Travel Expenses) on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Traktamente (Swedish Travel Expenses) with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
