Skip to main content

A Model Context Protocol (MCP) server for Norman Finance API

Project description

Norman Finance MCP Server

This Model Context Protocol (MCP) server enables AI to interact with the Norman Finance API, allowing access to accounting, invoices, companies, clients, taxes, and more through a standardized protocol.

[!NOTE]

The Norman Finance MCP Server is currently in Beta. We welcome your feedback and encourage you to report any bugs by opening an issue here.

Norman Finance Server MCP server MseeP.ai Security Assessment Badge

Features

  • 🔐 Authentication: Securely authenticate with the Norman Finance account
  • 💼 Company Management: Manage your company details, get company balance, VAT insgihts, etc
  • 📊 Accounting: Keep an eye on your transactions, categorization
  • 📝 (e-)Invoicing: Make, view, send, and handle invoices. You can even set up recurring ones based on your contracts
  • 👥 Client Management: Create and manage your clients (CRM)
  • 💰 Taxes: View tax information and reports, generate official Finanzamt PDF previews and file your taxes
  • 📄 Documents: Upload and manage attachments (receipts, invoices, docs, etc)

👇 Use case examples with Claude Desktop — toggle

Filing VAT tax report

Filing VAT tax report using Norman MCP

Getting transaction insights

Getting transaction insights usin Norman MCP

Syncing Stripe payments with Norman

Syncing Stripe payments with Norman

Creating transactions using Gmail receipts

Creating transactions using Gmail receipts

Managing overdue invoices - 1

Managing overdue invoices - 1

Managing overdue invoices - 2

Managing overdue invoices - 2

Prerequisites

Before using this MCP server, you need to:

  1. Create an account on Norman Finance
  2. Have your email and password ready for authentication

Remote MCP Server

Norman now offers a hosted remote MCP server at:

https://mcp.norman.finance/sse

The remote MCP is recommended because it utilizes OAuth authentication, enabling you to log in directly with your Norman account without the need to create or manage access tokens manually.

Installation

Cursor

To add the Norman MCP server to Cursor, copy and paste the following deeplink into your browser:

cursor://anysphere.cursor-deeplink/mcp/install?name=norman-finance-mcp&config=eyJjb21tYW5kIjoibnB4IiwidHlwZSI6InNzZSIsImFyZ3MiOlsibWNwLXJlbW90ZSIsImh0dHBzOi8vbWNwLm5vcm1hbi5maW5hbmNlL3NzZSJdfQ==

Claude.ai Integrations

Adding the Norman MCP Server to Claude.ai:

For Claude Max:

  1. Head to Settings > Profile
  2. Find the "Integrations" section
  3. Tap "Add more"
  4. Enter the Norman MCP server URL: https://mcp.norman.finance/sse
  5. Click "Add" to finish up

For Claude Enterprise & Teams:

  1. Go to Settings > Integrations (for Teams) or Settings > Data management (for Enterprise)
  2. Find the "Integrations" section
  3. Hit "Add more"
  4. Enter the Norman MCP server URL: https://mcp.norman.finance/sse
  5. Click "Add" to finish up

Enabling the Norman Integration:

  1. Start a chat with Claude.
  2. Open the Search and tools menu.
  3. Click "Connect" to link your Norman account.
  4. image
  5. After connecting, use the same menu to turn on specific Norman tools.

Adding to Claude Desktop

To run the Norman Finance MCP server with Claude Desktop, you can use the instruction above or add it manually using the following steps:

1. Download and Configure Claude Desktop

  1. Download Claude Desktop.

  2. Launch Claude and navigate to: Settings > Developer > Edit Config.

  3. Update your claude_desktop_config.json file with the following configuration:

Remote MCP

{
  "mcpServers": {
    "norman-mcp-server": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.norman.finance/sse"]
    }
  }
}

Local MCP

Install uv

Follow the instructions here: Installing uv

{
  "mcpServers": {
    "norman-mcp-server": {
      "command": "<home_path>/.local/bin/uvx",
      "args": [
        "--from",
        "norman-mcp-server@latest",
        "norman-mcp"
      ],
      "env": {
        "NORMAN_EMAIL": "your-email@example.com",
        "NORMAN_PASSWORD": "your-password",
        "NORMAN_ENVIRONMENT": "production"
      }
    }
  }
}

Configuration

Authentication Methods

The Norman MCP server supports two authentication methods:

1. OAuth Authentication (for SSE transport)

When using the server with MCP Inspector, Claude, or other SSE clients, the server uses OAuth 2.0 authentication:

  1. Start the server with SSE transport:

    python -m norman_mcp --transport sse
    
  2. When connecting to the server, you'll be directed to a login page

  3. Enter your Norman Finance credentials

  4. You'll be redirected back to your application with authentication tokens

2. Environment Variables (for stdio transport)

When using the server with Claude Desktop or stdin/stdout communication, provide credentials through environment variables:

# .env
NORMAN_EMAIL=your-email@example.com
NORMAN_PASSWORD=your-password
NORMAN_ENVIRONMENT=production  # or "sandbox" for the development environment
NORMAN_API_TIMEOUT=200  # Request timeout in seconds

Environment Variables

The server can be configured using these environment variables:

# Authentication (for stdio transport)
NORMAN_EMAIL=your-email@example.com
NORMAN_PASSWORD=your-password
NORMAN_ENVIRONMENT=production  # or "sandbox" for the development environment

# Server configuration
NORMAN_MCP_HOST=0.0.0.0  # Host to bind to
NORMAN_MCP_PORT=3001     # Port to bind to
NORMAN_MCP_PUBLIC_URL=http://example.com  # Public URL for OAuth callbacks (important for remote access)
NORMAN_API_TIMEOUT=200   # Request timeout in seconds

Development

This section is for contributors who want to develop or extend the Norman Finance MCP server.

Local setup

git clone https://github.com/norman-finance/norman-mcp-server.git
cd norman-mcp-server
pip install -e .

Then update your claude_desktop_config.json file to point to the Python module directly:

{
  "mcpServers": {
    "norman-mcp-server": {
      "command": "<path_to_your_python>/python",
      "args": ["-m", "norman_mcp"],
      "env": {
        "NORMAN_EMAIL": "your-email@example.com",
        "NORMAN_PASSWORD": "your-password",
        "NORMAN_ENVIRONMENT": "production"
      }
    }
  }
}

Do you have a feature idea or something you'd like to see? Share your suggestion


Make business effortless

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_norman_finance_norman_mcp_server-0.1.5.tar.gz.

File metadata

  • Download URL: iflow_mcp_norman_finance_norman_mcp_server-0.1.5.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_norman_finance_norman_mcp_server-0.1.5.tar.gz
Algorithm Hash digest
SHA256 bab6c561d02a139f7c9da0f2d69787411ce74e8925981bbc14bbc2aebfff4ff2
MD5 d4170ff0de30cddc7f6f11b72235f0ea
BLAKE2b-256 e15321cb5d53579693d61f0577df59a06c2b1755f93a8c12dd1686f22ac2004a

See more details on using hashes here.

File details

Details for the file iflow_mcp_norman_finance_norman_mcp_server-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_norman_finance_norman_mcp_server-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_norman_finance_norman_mcp_server-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 09abf11e80b9eb74e69df2d634f787c301a90e880856fa1865942392777f7ba5
MD5 e3ef7db952aacdb435a36a43c9b287c2
BLAKE2b-256 41ee16968e9a989ae28e1a7a8bf162768a83ce6dd71b08e8154bcf266799c632

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page