fused-mcp
by: fusedio
Fused MCP Agents: Setting up MCP Servers for Data Scientists
📌Overview
Purpose: The framework aims to facilitate seamless connections between LLMs, like Claude, and APIs, allowing users to execute Python code directly on their local machines.
Overview: This repository provides a straightforward approach to set up MCP Servers integrated with Claude's Desktop App, utilizing Python alongside Fused User Defined Functions (UDFs). It allows users to develop and run their functions and agents effectively within an interactive notebook environment.
Key Features:
-
MCP Server Integration: Simplifies the process of setting up an MCP server to enable Claude to perform API requests and run Python code without needing a separate Fused account.
-
User Defined Functions (UDFs): Leverages Fused UDFs, allowing users to create custom functions that can be executed from any location, enhancing flexibility and usability in coding tasks.
-
Local Setup: Provides an easy installation process, ensuring that users can run the setup on their local machines without any additional requirements, making it accessible and user-friendly.
Fused MCP Agents: Setting up MCP Servers for Data
MCP servers allow LLMs like Claude to make HTTP requests, connecting them to APIs and executable code. This repository enables you to easily pass any Python code directly to your own desktop Claude app.
This repo offers a simple step-by-step notebook workflow to set up MCP Servers with Claude's Desktop App, all in Python built on top of Fused User Defined Functions (UDFs).
Requirements
- Python 3.11
- Latest Claude Desktop app installed (macOS & Windows)
If you're on Linux, the desktop app isn't available. A simple client is provided to run locally.
You do not need a Fused account to do any of this! All runs locally.
Installation
-
Clone this repository and navigate to it:
git clone https://github.com/fusedio/fused-mcp.git cd fused-mcp/
-
Install
uv
if you don't have it:- macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- macOS / Linux:
-
Test the client by asking for its info:
uv run main.py -h
-
Follow the getting-started notebook to set up:
fused_mcp_agents.ipynb
to get started- Then progress to the more advanced notebook to make your own Agents and functions
Repository Structure
This repo builds on top of MCP Server and Fused UDFs, which are Python functions that can be run from anywhere.
Support & Community
Join our Discord server for help and community support!
Common Debug Steps
-
Running
uv run main.py -h
should return the help information. -
You might need to specify full paths for commands in
Claude_Desktop_Config.json
. For example, by default we only passuv
:{ "mcpServers": { "qgis": { "command": "uv", "args": ["..."] } } }
You can pass the full path to
uv
in the notebook:import shutil common.generate_local_mcp_config( config_path=PATH_TO_CLAUDE_CONFIG, agents_list=["get_current_time"], repo_path=WORKING_DIR, uv_path=shutil.which('uv'), )
This creates a config like:
{ "mcpServers": { "qgis": { "command": "/Users/<YOUR_USERNAME>/.local/bin/uv", "args": ["..."] } } }
-
If Claude runs without showing connected tools, see the MCP Docs for troubleshooting Claude Desktop setup.
Contributing
Feel free to open PRs to add your own UDFs to the udfs/
folder so others can experiment locally.
Using a Local Claude Client (Without Claude Desktop App)
If you cannot install the Claude Desktop app (e.g., on Linux), use the provided example local client to use Claude with the MCP server configured in this repo.
Note: You will need an API key for Claude since you won’t use the Desktop App.
Steps:
-
Create an Anthropic Console Account.
-
Create an Anthropic API Key.
-
Create a
.env
file:touch .env
-
Add your API key inside
.env
:# .env ANTHROPIC_API_KEY="your-key-here"
-
Start the MCP server:
uv run main.py --agent get_current_time
-
In another terminal, start the local client pointing to the server address:
uv run client.py http://localhost:8080/sse