About Ntropy MCP server
Ntropy MCP server connects financial-data LLM agents to Ntropy API endpoints. It provides tools for account-holder management and retrieving, enriching, and deleting transactions, including bulk enrichment.
Key features
- 01Ntropy API connection checks
- 02Account-holder management
- 03Transaction enrichment
- 04Transaction retrieval and listing
- 05Bulk transaction enrichment
- 06Account and transaction deletion
Use cases
- 01Enrich bank transaction records
- 02Manage account-holder data
- 03Retrieve transactions for an account holder
MCP support
Exposes Ntropy API operations as tools for MCP clients, including account-holder and transaction operations. An API key can be set or updated at runtime.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENtropy MCP server
MCP server for enriching banking data using the Ntropy API. This allows LLM agents that work with financial data to easily call any of the Ntropy API endpoints.
Components
Tools
The server implements the following tools to interact with the Ntropy API:
-
check_connection: Verify connection to the Ntropy API
- Returns: Connection status information
-
set_api_key: Set or update the Ntropy API key at runtime
- Parameters:
api_key(string) - Returns: Status of the API key update and validation
- Parameters:
-
create_account_holder: Create an account holder
- Parameters:
id(string/int),type(string),name(string) - Returns: The created account holder details
- Parameters:
-
update_account_holder: Update an existing account holder
- Parameters:
id(string/int),name(string, optional),type(string, optional) - Returns: The updated account holder details
- Parameters:
-
enrich_transaction: Enrich a bank transaction
- Parameters:
id(string/int),description(string),date(string),amount(float),entry_type(string),currency(string),account_holder_id(string/int),country(string, optional) - Returns: The enriched transaction data
- Parameters:
-
get_account_holder: Get details of an account holder
- Parameters:
account_holder_id(string/int) - Returns: Account holder details
- Parameters:
-
list_transactions: List transactions for an account holder
- Parameters:
account_holder_id(string/int),limit(int, default=10),offset(int, default=0) - Returns: List of transactions
- Parameters:
-
get_transaction: Get details of a specific transaction
- Parameters:
transaction_id(string/int) - Returns: Transaction details
- Parameters:
-
bulk_enrich_transactions: Enrich multiple transactions at once
- Parameters:
transactions(List of transaction objects) - Returns: List of enriched transactions
- Parameters:
-
delete_account_holder: Delete an account holder and all associated data
- Parameters:
account_holder_id(string/int) - Returns: Deletion status
- Parameters:
-
delete_transaction: Delete a specific transaction
- Parameters:
transaction_id(string/int) - Returns: Deletion status
- Parameters:
Quickstart
Install
First, obtain your Ntropy API key by creating an account on ntropy.com. Make sure to replace YOUR_NTROPY_API_KEY below with your actual API key.
Run the server with uvx
uvx ntropy-mcp --api-key YOUR_NTROPY_API_KEY
Claude Desktop
The Claude Desktop configuration file is usually located at:
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Add the following to the configuration file if using uvx:
"mcpServers": {
"ntropy-mcp": {
"command": "uvx",
"args": [
"ntropy-mcp",
"--api-key",
"YOUR_NTROPY_API_KEY"
]
}
}
and the following if using docker:
"mcpServers": {
"ntropy-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ntropy-mcp"
"--api-key",
"YOUR_NTROPY_API_KEY"
]
}
}
Example Usage
Check Connection
# Check if your API key is valid and the Ntropy API is accessible
connection_status = check_connection()
print(connection_status)
Create and Update Account Holders
# Create a new account holder
account_holder = create_account_holder(
id="user123",
type="individual",
name="John Doe"
)
# Update an existing account holder
updated_account = update_account_holder(
id="user123",
name="John Smith"
)
Enrich Transactions
# Enrich a single transaction
enriched_transaction = enrich_transaction(
id="tx123",
description="AMAZON.COM*MK1AB6TE1",
date="2023-05-15",
amount=-29.99,
entry_type="debit",
currency="USD",
account_holder_id="user123",
country="US"
)
# Bulk enrich multiple transactions
transactions = [
{
"id": "tx124",
"description": "NETFLIX.COM",
"date": "2023-05-16",
"amount": -13.99,
"entry_type": "debit",
"currency": "USD",
"account_holder_id": "user123"
},
{
"id": "tx125",
"description": "Starbucks Coffee",
"date": "2023-05-17",
"amount": -5.65,
"entry_type": "debit",
"currency": "USD",
"account_holder_id": "user123"
}
]
enriched_transactions = bulk_enrich_transactions(transactions)
Debugging
You can use the MCP inspector to debug the server. For uvx installations:
npx @modelcontextprotocol/inspector uvx ntropy-mcp --api-key YOUR_NTROPY_API_KEY
Build
Docker build:
docker build -t ntropy-mcp .
Contributing
Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements.
License
ntropy-mcp is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.