newline53/newline-mcp-server
If you are the rightful owner of newline-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Newline MCP server is a robust and flexible server designed to handle model context protocols efficiently.
Newline Model Context Protocol (MCP) Server
Let your AI agents interact with the Newline Banking API by using our MCP server.
The Newline Model Context Protocol (MCP) server provides a comprehensive set of tools that AI agents can use to interact with the Newline Banking API for managing synthetic accounts, transfers, customers, transactions, and other banking operations.
Connect to Newline's MCP Server
Cursor
Add the following to your ~/.cursor/mcp.json file. To learn more, see the Cursor documentation.
{
"mcpServers": {
"newline": {
"command": "npx",
"args": ["-y", "git+https://github.com/newline53/newline-mcp-server"],
"env": {
"NEWLINE_HMAC_KEY": "<<YOUR_HMAC_KEY>>",
"NEWLINE_PROGRAM_ID": "<<YOUR_PROGRAM_ID>>",
"NEWLINE_BASE_URL": "https://sandbox.newline53.com/api/v1"
}
}
}
}
The code editor agent automatically detects all the available tools, calling the relevant tool when you post a related question in the chat.
VS Code
Add the following to your .vscode/mcp.json file in your workspace. To learn more, see the VS Code documentation.
Using promptStrings - this will prompt for input
{
"inputs": [
{
"type": "promptString",
"id": "hmac-key",
"description": "Newline HMAC API key",
"password": true
},
{
"type": "promptString",
"id": "program-id",
"description": "Newline program ID",
"password": true
},
{
"type": "promptString",
"id": "base-url",
"description": "Newline API base URL",
"default": "https://sandbox.newline53.com/api/v1"
}
],
"servers": {
"newline": {
"command": "npx",
"args": ["-y", "git+https://github.com/newline53/newline-mcp-server"],
"env": {
"NEWLINE_HMAC_KEY": "${input:hmac-key}",
"NEWLINE_PROGRAM_ID": "${input:program-id}",
"NEWLINE_BASE_URL": "${input:base-url}"
}
}
}
}
Using Environment Variables
{
"servers": {
"special-mcp-server": {
"command": "npx",
"args": ["git+https://github.com/newline53/newline-mcp-server"],
"env": {
"NEWLINE_HMAC_KEY": "${env:NEWLINE_HMAC_KEY}",
"NEWLINE_PROGRAM_ID": "${env:NEWLINE_PROGRAM_ID}",
"NEWLINE_BASE_URL": "${env:NEWLINE_BASE_URL}"
}
}
}
}
Windsurf
Add the following to your ~/.codeium/windsurf/mcp_config.json file. To learn more, see the Windsurf documentation.
{
"mcpServers": {
"newline": {
"command": "npx",
"args": ["-y", "git+https://github.com/newline53/newline-mcp-server"],
"env": {
"NEWLINE_HMAC_KEY": "<<YOUR_HMAC_KEY>>",
"NEWLINE_PROGRAM_ID": "<<YOUR_PROGRAM_ID>>",
"NEWLINE_BASE_URL": "https://sandbox.newline53.com/api/v1"
}
}
}
}
Claude Desktop
Add the following to your claude_desktop_config.json file. To learn more, see the Claude Desktop documentation.
{
"mcpServers": {
"newline": {
"command": "npx",
"args": ["-y", "git+https://github.com/newline53/newline-mcp-server"],
"env": {
"NEWLINE_HMAC_KEY": "<<YOUR_HMAC_KEY>>",
"NEWLINE_PROGRAM_ID": "<<YOUR_PROGRAM_ID>>",
"NEWLINE_BASE_URL": "https://sandbox.newline53.com/api/v1"
}
}
}
}
CLI
Start the MCP server locally with this command:
NEWLINE_HMAC_KEY="<<YOUR_HMAC_KEY>>" \
NEWLINE_PROGRAM_ID="<<YOUR_PROGRAM_ID>>" \
NEWLINE_BASE_URL="https://sandbox.newline53.com/api/v1" \
npx -y git+https://github.com/newline53/newline-mcp-server
Or install globally:
npm install -g git+https://github.com/newline53/newline-mcp-server
# Run the server
NEWLINE_HMAC_KEY="<<YOUR_HMAC_KEY>>" \
NEWLINE_PROGRAM_ID="<<YOUR_PROGRAM_ID>>" \
NEWLINE_BASE_URL="https://sandbox.newline53.com/api/v1" \
newline
Configuration
The Newline MCP server requires the following environment variables:
| Variable | Description | Required | Default |
|---|---|---|---|
NEWLINE_HMAC_KEY | Your Newline API HMAC authentication key | Yes | - |
NEWLINE_PROGRAM_ID | Your Newline program identifier | Yes | - |
NEWLINE_BASE_URL | Newline API base URL | No | https://sandbox.newline53.com/api/v1 |
https_proxy / HTTPS_PROXY | HTTPS proxy URL (optional) | No | - |
API Environments
- Sandbox:
https://sandbox.newline53.com/api/v1(default) - Production: Contact Newline for production endpoint details
Security Considerations
We strongly recommend:
- Never commit credentials to version control
- Use environment variables or secure credential management
- Regularly rotate your HMAC keys
- Use different credentials for development and production environments
- Enable human confirmation of tools when using the MCP server to avoid unintended operations
Tools
The server exposes 35+ MCP tools for interacting with the Newline Banking API. We recommend enabling human confirmation of tools and exercising caution when using the Newline MCP with other servers to avoid prompt injection attacks.
| Resource | Tool | Description |
|---|---|---|
| Authentication | get-newline-auth-token | Retrieve current authentication token |
| Synthetic Accounts | get-synthetic-account-types | List all available account types |
get-synthetic-accounts | List all synthetic accounts | |
get-synthetic-account | Get details of a specific account | |
create-synthetic-account | Create a new synthetic account | |
delete-synthetic-accounts | Delete a synthetic account | |
| Transfers | list-newline-transfers | List all transfers |
get-newline-transfer | Get details of a specific transfer | |
create-newline-transfer | Create a new transfer (Wire, ACH, Instant Payment) | |
| Customers | list-customers | List all customers |
get-customer | Get details of a specific customer | |
| Transactions | list-transactions | List all transactions |
get-transaction | Get details of a specific transaction | |
| Pools | list-pools | List all pools |
get-pool | Get details of a specific pool | |
| Products | list-products | List all products |
get-product | Get details of a specific product | |
| Customer Products | list-customer-products | List all customer products |
get-customer-product | Get details of a specific customer product | |
| Custodial Accounts | list-custodial-accounts | List all custodial accounts |
get-custodial-account | Get details of a specific custodial account | |
| Transaction Events | list-transaction-events | List all transaction events |
get-transaction-event | Get details of a specific transaction event | |
| Synthetic Line Items | list-synthetic-line-items | List all synthetic line items |
get-synthetic-line-item | Get details of a specific synthetic line item | |
| Custodial Line Items | list-custodial-line-items | List all custodial line items |
get-custodial-line-item | Get details of a specific custodial line item | |
| Virtual Reference Numbers | list-virtual-reference-numbers | List all virtual reference numbers |
get-virtual-reference-number | Get details of a specific virtual reference number | |
| Returns | list-returns | List all returns |
get-return | Get details of a specific return | |
| Combined Transfers | list-combined-transfers | List all combined transfers |
get-combined-transfer | Get details of a specific combined transfer | |
| Customer Activities | list-customer-activities | List all customer activities |
get-customer-activity | Get details of a specific customer activity |
Docker Usage
You can also run the Newline MCP server in a Docker container.
Build the Docker Image
First, build the Docker image from the root directory of the project:
docker build -t newline-mcp-server:latest .
Run the Container
Then run the container with your credentials:
docker run \
-e NEWLINE_HMAC_KEY="<<YOUR_HMAC_KEY>>" \
-e NEWLINE_PROGRAM_ID="<<YOUR_PROGRAM_ID>>" \
-e NEWLINE_BASE_URL="https://sandbox.newline53.com/api/v1" \
newline-mcp-server:latest
MCP Configuration with Docker
Add the following to your MCP configuration:
{
"servers": {
"newline-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "NEWLINE_HMAC_KEY=<<YOUR_HMAC_KEY>>",
"-e", "NEWLINE_PROGRAM_ID=<<YOUR_PROGRAM_ID>>",
"-e", "NEWLINE_BASE_URL=https://sandbox.newline53.com/api/v1",
"newline-mcp-server:latest"
]
}
}
}
Example Usage
Here are some example prompts you can use with AI assistants connected to the Newline MCP server:
Account Management
- "List all synthetic account types available"
- "Show me all my synthetic accounts"
- "Create a new checking account for customer John Doe"
- "Get details for synthetic account with ID abc123"
Transfer Operations
- "List all recent transfers"
- "Create a wire transfer of $1000 from account A to account B"
- "Show me the status of transfer xyz789"
- "List all ACH transfers from last month"
Customer Information
- "List all customers"
- "Find customer details for john.doe@example.com"
- "Show me all customers created this week"
Transaction Queries
- "List all transactions for account abc123"
- "Show me transaction details for txn_456"
- "Get all transactions over $5000"
Resource Management
- "List all available pools"
- "Show me all products"
- "Get custodial account information"
Troubleshooting
Authentication Errors
If you receive authentication errors, verify:
- Your
NEWLINE_HMAC_KEYis correct and active - Your
NEWLINE_PROGRAM_IDmatches your Newline program - You're using the correct
NEWLINE_BASE_URLfor your environment
Connection Issues
If the MCP server fails to connect:
- Check your network connectivity
- Verify any proxy settings if required (
https_proxyenvironment variable) - Ensure the Newline API endpoint is accessible from your network
Tool Execution Errors
If tools fail to execute:
- Verify you have the necessary permissions for the operation
- Check that required parameters are provided
- Review the error message for specific guidance
- Ensure your API credentials have access to the requested resources
Autonomous Agents
If you're building agentic software, you can integrate the Newline MCP server into your autonomous workflows. The server supports standard MCP protocol and can be used with frameworks like:
- OpenAI's Responses API
- LangChain
- AutoGPT
- Custom agent implementations
Example integration with environment variables:
import os
mcp_config = {
"command": "npx",
"args": ["-y", "git+https://github.com/newline53/newline-mcp-server"],
"env": {
"NEWLINE_HMAC_KEY": os.getenv("NEWLINE_HMAC_KEY"),
"NEWLINE_PROGRAM_ID": os.getenv("NEWLINE_PROGRAM_ID"),
"NEWLINE_BASE_URL": os.getenv("NEWLINE_BASE_URL", "https://sandbox.newline53.com/api/v1")
}
}
Development and Testing
Local Development
Clone the repository and install dependencies:
git clone https://github.com/newline53/newline-mcp-server.git
cd newline-mcp-server
npm install
Build the project:
npm run build
Run tests:
npm test
Running Locally
After building, you can run the server locally:
node dist/index.js
Or use the development configuration in your MCP client:
{
"servers": {
"newline-local": {
"command": "node",
"args": ["/path/to/newline-mcp-server/dist/index.js"],
"env": {
"NEWLINE_HMAC_KEY": "<<YOUR_HMAC_KEY>>",
"NEWLINE_PROGRAM_ID": "<<YOUR_PROGRAM_ID>>",
"NEWLINE_BASE_URL": "https://sandbox.newline53.com/api/v1"
}
}
}
}
Features
- 🔐 Secure Authentication: JWT-based authentication with HMAC signing
- 🏦 Banking Operations: Comprehensive tools for account and transfer management
- 👥 Customer Management: List and retrieve customer information
- 💰 Transaction Tracking: Access transaction data and events
- 📊 Resource Management: Manage pools, products, and custodial accounts
- 🔄 Transfer Types: Support for Wire, ACH, and Instant Payment transfers
- 🌐 Proxy Support: Configurable HTTPS proxy for corporate environments
- 📝 Type Safety: Full TypeScript support with type definitions
- ✅ Validation: Input validation using Zod schemas
- 🛡️ Error Handling: Comprehensive error handling and logging
Support
For issues, questions, or feature requests:
- Email: VulnerabilityManagement.Bancorp@53.com
- GitHub Issues: https://github.com/newline53/newline-mcp-server/issues
- Documentation: https://github.com/newline53/newline-mcp-server#readme
License
Apache 2.0