by norman-finance
Enables AI agents to interact with the Norman Finance API for managing accounting, invoices, companies, clients, taxes, and documents through a standardized Model Context Protocol interface.
Provides a Model Context Protocol server that connects AI tools to the Norman Finance platform, allowing programmatic access to accounting data, invoice creation, client management, tax reports, and document handling.
https://mcp.norman.finance/sse
in the AI client (Claude, Cursor, etc.). The server handles OAuth login automatically.NORMAN_EMAIL
, NORMAN_PASSWORD
, NORMAN_ENVIRONMENT
, optional NORMAN_API_TIMEOUT
), then run python -m norman_mcp --transport stdio
or --transport sse
.Q: Do I need an API key? A: No API key is required; authentication is performed via OAuth or email/password.
Q: Which transport should I use? A: SSE (remote) is recommended for most users because it handles OAuth automatically. Use stdio for local development or Claude Desktop.
Q: How do I set the environment for a sandbox?
A: Set NORMAN_ENVIRONMENT=sandbox
in the .env file.
Q: What ports does the local server run on?
A: Default host 0.0.0.0
and port 3001
, configurable with NORMAN_MCP_HOST
and NORMAN_MCP_PORT
.
Q: Where can I report bugs? A: Open an issue on the GitHub repository: https://github.com/norman-finance/norman-mcp-server/issues.
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.
Before using this MCP server, you need to:
Norman now offers a hosted remote MCP server at:
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.
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==
Adding the Norman MCP Server to Claude.ai:
For Claude Max:
https://mcp.norman.finance/sse
For Claude Enterprise & Teams:
https://mcp.norman.finance/sse
Enabling the Norman Integration:
To run the Norman Finance MCP server with Claude Desktop, you can use the instruction above or add it manually using the following steps:
Download Claude Desktop.
Launch Claude and navigate to: Settings > Developer > Edit Config.
Update your claude_desktop_config.json
file with the following configuration:
{
"mcpServers": {
"norman-mcp-server": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.norman.finance/sse"]
}
}
}
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"
}
}
}
}
The Norman MCP server supports two authentication methods:
When using the server with MCP Inspector, Claude, or other SSE clients, the server uses OAuth 2.0 authentication:
Start the server with SSE transport:
python -m norman_mcp --transport sse
When connecting to the server, you'll be directed to a login page
Enter your Norman Finance credentials
You'll be redirected back to your application with authentication tokens
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
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
This section is for contributors who want to develop or extend the Norman Finance MCP server.
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
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "norman-mcp-server": { "command": "npx", "args": [ "mcp-remote", "https://mcp.norman.finance/sse" ], "env": {} } } }
Discover more MCP servers with similar functionality and use cases
by stripe
Enables popular agent frameworks to integrate with Stripe APIs via function calling, providing tools for MCP, Python, and TypeScript.
by goat-sdk
GOAT is the largest agentic finance toolkit for AI agents, enabling them to become economic actors by leveraging blockchains, cryptocurrencies, and wallets.
by financial-datasets
Provides AI assistants with tools to retrieve income statements, balance sheets, cash flow statements, stock prices, market news, and crypto information via the Model Context Protocol.
by razorpay
Enables seamless interaction with Razorpay APIs via Model Context Protocol, allowing developers and AI agents to capture payments, manage orders, process refunds, handle settlements, and more through a unified MCP interface.
by armorwallet
Armor Crypto MCP provides a unified interface for AI agents to interact with the crypto ecosystem, including wallet management, swaps, staking, and multi-chain operations.
by alpacahq
Alpaca’s MCP server lets you trade stocks and options, analyze market data, and build strategies through Alpaca's Trading API.
by XeroAPI
Provides a bridge between the Model Context Protocol and Xero's API, enabling standardized access to Xero accounting and business features.
by kukapay
Integrates the Freqtrade cryptocurrency trading bot with an MCP server, exposing the bot's REST API as tools that AI agents can call for fully automated trading operations.
by kukapay
Offers over 50 cryptocurrency technical analysis indicators and corresponding trading strategies, enabling AI agents and developers to assess market trends and generate buy, hold, or sell signals.