trackmcp
Back to directory

Fused MCP Agents: Setting up MCP Servers for Data Scientists

26 stars Jupyter NotebookOthers Updated May 18, 2026
data-sciencefusedmcppythonudf

Documentation

Fused MCP Agents: Setting up MCP Servers for Data

  

   ๐ŸŒช๏ธ   

   ๐Ÿ”ฅ   

MCP servers allow LLMs like Claude to make HTTP requests, connecting them to APIs & executable code. We built this repo for ourselves & anyone working with data to easily pass _any_ Python code directly to your own desktop Claude app.

This repo offers a simple step-by-step notebook workflow to setup MCP Servers with Claude's Desktop App, all in Python built on top of Fused User Defined Functions (UDFs).

Demo once setup

Requirements

If you're on Linux, the desktop app isn't available so we've made a simple client you can use to have it running locally too!

You do _not_ need a Fused account to do any of this! All of this will be running on your local machine.

Installation

  • Clone this repo in any local directory, and navigate to the repo:
bash
git clone https://github.com/fusedio/fused-mcp.git
  cd fused-mcp/

if you don't have it:

macOS / Linux:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

code
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • Test out the client by asking for its info:
bash
uv run main.py -h
Notebook

Repository structure

This repo is build on top of MCP Server & Fused UDFs which are Python functions that can be run from anywhere.

Support & Community

Feel free to join our Discord server if you want some help getting unblocked!

Here are a few common steps to debug the setup:

  • Running `uv run main.py -h` should return something like this:
uv helper output function
  • You might need to pass global paths to some functions to the `Claude_Desktop_Config.json`. For example, by default we only pass `uv`:
json
{
    "mcpServers": {
        "qgis": {
            "command": "uv",
            "args": ["..."]
        }

    }
}

But you might need to pass the full path to `uv`, which you can simply pass to `common.generate_local_mcp_config` in the notebook:

python
# in fused_mcp_agents.ipynb
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'),
)

Which would create a config like this:

json
{
    "mcpServers": {
        "qgis": {
            "command": "/Users//.local/bin/uv",
            "args": ["..."]
        }

    }
}

Contribute

Feel free to open PRs to add your own UDFs to `udfs/` so others can play around with them locally too!

Using a local Claude client (without Claude Desktop app)

If you are unable to install the Claude Desktop app (e.g., on Linux), we provide

a small example local client interface to use Claude with the MCP server configured

in this repo:

NOTE: You'll need an API key for Claude here as you won't use the Desktop App

  • Create a `.env`:
bash
touch .env
  • Add your key as `ANTHROPIC_API_KEY` inside the `.env`:
code
# .env
  ANTHROPIC_API_KEY = "your-key-here"
  • Start the MCP server:
bash
uv run main.py --agent get_current_time
  • In another terminal session, start the local client, pointing to the address of the server:
bash
uv run client.py http://localhost:8080/sse

Frequently asked questions

What is fused-mcp?

fused-mcp is Fused MCP Agents: Setting up MCP Servers for Data Scientists

How do I install fused-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is fused-mcp open source?

Yes โ€” it is hosted on GitHub at https://github.com/fusedio/fused-mcp and has 26 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP