MCP Now
fastn.ai – Unified API MCP Server

fastn.ai – Unified API MCP Server

by fastnai
GitHub

A remote, dynamic MCP server with a unified API that connects to 1,000+ tools, actions, and workflows, featuring built-in authentication and monitoring.

install
fastn
platform
directory
setup

Fastn Server

The Fastn server is a powerful, scalable platform that enables dynamic tool registration and execution based on API definitions. It seamlessly integrates with services like Claude.ai and Cursor.ai, providing a unified server solution for a wide range of tasks. With its robust architecture, Fastn delivers exceptional performance and flexibility for real-time, API-driven operations.

Features

  • Integrated platform support - Use services like Slack, Notion, HubSpot, and many more through the Fastn server after completing the simple setup
  • Logging support - Comprehensive logging system
  • Error handling - Robust error management for various scenarios

Step-by-Step Setup Guide

Step 1: Fastn Setup

  1. Login to your Fastn account
  2. Go to "Connectors" from the left sidebar
  3. Activate the service(s) you want to use by clicking on activate.
  4. Go to "Settings" from the left sidebar
  5. Click on "Generate API Key" and save it somewhere locally (e.g., in a notepad)
  6. Click on the copy button that exists on the top bar (left side of your profile)
  7. Copy your Workspace ID and save it as well
  8. All setup from Fastn is now complete

Step 2: Server Setup

Prerequisites

  • Python 3.10 or higher

Quick Start

macOS

1# Clone repository and navigate to directory 2git clone <your-repo-url> && cd fastn-server 3 4# Install UV, create virtual environment, and install dependencies in one go 5curl -LsSf https://astral.sh/uv/install.sh | sh && uv venv && source .venv/bin/activate && uv pip install -e . 6 7# Run server (specify platform with --platform flag) 8uv run fastn-server.py --api_key YOUR_API_KEY --space_id YOUR_SPACE_ID

Windows

1# Clone repository and navigate to directory 2git clone <your-repo-url> && cd fastn-server 3 4# Install UV, create a virtual environment, and install dependencies 5# Option 1: Install UV using pip 6python -m pip install uv 7# Make sure to copy the installation path and add it to your Windows environment variables. 8 9# Option 2: Install UV using PowerShell 10powershell -c "irm https://astral.sh/uv/install.ps1 | iex" && uv venv && .venv\Scripts\activate && uv pip install -e . 11 12# Run server (specify platform with --platform flag) 13uv run fastn-server.py --api_key YOUR_API_KEY --space_id YOUR_SPACE_ID

Step 3: Integration with Claude On Mac OS

  1. Open the Claude configuration:
1code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. Add the following configuration (replace placeholders with your actual values):
1{ 2 "mcpServers": { 3 "fastn": { 4 "command": "/path/to/your/uv", 5 "args": [ 6 "--directory", 7 "/path/to/your/fastn-server", 8 "run", 9 "fastn-server.py", 10 "--api_key", 11 "YOUR_API_KEY", 12 "--space_id", 13 "YOUR_WORKSPACE_ID" 14 ] 15 } 16 } 17}

Step 4: Integration with Cursor

  1. Open Cursor settings
  2. Click on "MCP" in the settings menu
  3. Click on "Add New"
  4. Add a name for your server (e.g., "fastn")
  5. Select "Command" as the type
  6. Add the following command (replace placeholders with your actual values):
/path/to/your/uv --directory /path/to/your/fastn-server run fastn-server.py --api_key YOUR_API_KEY --space_id YOUR_WORKSPACE_ID

Troubleshooting

Package Structure Error

If you encounter an error like this during installation:

ValueError: Unable to determine which files to ship inside the wheel using the following heuristics:
The most likely cause of this is that there is no directory that matches the name of your project (fastn).

Quick Fix:

  1. Make sure pyproject.toml has the wheel configuration:
1[tool.hatch.build.targets.wheel] 2packages = ["."]
  1. Then install dependencies:
1uv pip install "httpx>=0.28.1" "mcp[cli]>=1.2.0"
  1. Run the server:
1uv run fastn-server.py --api_key YOUR_API_KEY --space_id YOUR_SPACE_ID

Logging

Logs are output with timestamp, level, and message in the following format:

%(asctime)s - %(levelname)s - %(message)s