@tgerighty/bland-mcp
v1.0.10
Published
A Model Context Protocol server for Bland.ai API call data
Maintainers
Readme
Bland.ai MCP Server
A Model Context Protocol (MCP) server that provides read-only access to Bland.ai API call data.
Features
This MCP server provides the following tools:
- get-call-details - Retrieve complete call information including transcript from Bland.ai
- list-calls - List Bland.ai calls with optional filters for pathway, date range, and limit
Quick Start (No Installation Required!)
The easiest way to use this MCP server is directly with npx - no installation needed!
Setup for Claude Desktop
1. Get your Bland.ai API Key
Get your API key from your Bland.ai dashboard.
2. Configure Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"bland-mcp": {
"command": "npx",
"args": ["@tgerighty/bland-mcp"],
"env": {
"BLAND_AI_API_KEY": "your_actual_bland_api_key_here"
}
}
}
}That's it! No installation needed. The server will be downloaded and run automatically when Claude starts.
3. Restart Claude Desktop
After saving the configuration, restart Claude Desktop completely.
4. Verify It's Working
In Claude, you can now use commands like:
- "List my recent Bland.ai calls"
- "Get details for call [call-id]"
- "Show calls from the last 24 hours"
Alternative Installation Methods
Install from GitHub (for development):
{
"mcpServers": {
"bland-mcp": {
"command": "node",
"args": ["/path/to/bland-mcp/dist/index.js"],
"env": {
"BLAND_AI_API_KEY": "your_actual_bland_api_key_here"
}
}
}
}3. Restart Claude Desktop
After saving the configuration, restart Claude Desktop completely.
4. Verify Installation
In Claude, you can now use commands like:
- "List my recent Bland.ai calls"
- "Get details for call [call-id]"
- "Show calls from the last 24 hours"
Usage
Testing the Server
To test the server in standalone mode:
node mcp-server.jsThis will show the available tools without starting the MCP protocol.
Running as MCP Server
To run as an MCP server:
node mcp-server.js --mcpClaude Desktop Integration
To use with Claude Desktop, you need to add this server to your MCP configuration. Edit the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Add the following to the mcpServers section:
Option 1: Using npx (Recommended)
{
"mcpServers": {
"bland-mcp": {
"command": "npx",
"args": [
"-y",
"/Users/tgerighty/Library/CloudStorage/OneDrive-SignantHealth/Documents/Coding/bland-mcp"
],
"env": {
"BLAND_AI_API_KEY": "your_actual_bland_api_key_here"
}
}
}
}Option 2: Using full path with node
{
"mcpServers": {
"bland-mcp": {
"command": "node",
"args": [
"/Users/tgerighty/Library/CloudStorage/OneDrive-SignantHealth/Documents/Coding/bland-mcp/dist/index.js"
],
"env": {
"BLAND_AI_API_KEY": "your_actual_bland_api_key_here"
}
}
}
}Replace your_actual_bland_api_key_here with your actual Bland.ai API key.
For detailed integration instructions, see INTEGRATION-GUIDE.md.
API Endpoints
The tools access the following Bland.ai API endpoints:
get-call-details:
/v1/calls/{call_id}- Complete call information including transcript
list-calls:
/v1/calls- List all calls- Optional query parameters:
pathway_id,from_date,to_date,limit
Environment Variables
BLAND_AI_API_KEY- Your Bland.ai API key (required)PORT- Port for the web server (default: 3000)
Error Handling
All tools will return error information if API calls fail, including the error message from the Bland.ai API.
Troubleshooting
list-calls API returns empty results from Node.js
When attempting to use the list-calls tool from a Node.js environment (e.g., via axios or native fetch), the API might return an empty calls array, even if total_count indicates that calls exist. This issue has been observed despite matching request headers (including User-Agent and Accept) and attempting to force HTTP/2.
Workaround:
A direct curl command from the same environment successfully retrieves the call data. If you encounter this issue, consider executing curl commands directly from your Node.js application using child_process.exec for list-calls functionality.
Example of a working curl command:
curl --request GET \
--url "https://api.bland.ai/v1/calls?limit=5" \
--header "authorization: YOUR_BLAND_API_KEY"This suggests a subtle difference in how the Bland.ai API responds to requests originating from Node.js's network stack compared to curl, or an undocumented API behavior. Further investigation into the underlying network differences or direct consultation with Bland.ai API support may be required to fully resolve this.
