Fused
    Fused

    Fused

    Fused MCP Agents: Setting up MCP Servers for Data Scientists

    4.3

    GitHub Stats

    Stars

    26

    Forks

    8

    Release Date

    4/9/2025

    about 2 months ago

    Detailed Description

    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:

      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"
      
    • Test out the client by asking for its info:

      uv run main.py -h
      
    • Start by following our getting-started notebook fused_mcp_agents.ipynb in your favorite local IDE to get set up and then make your way to the more advanced notebook to make your own Agents & functions

    !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:
    {
        "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:

    # 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:

    {
        "mcpServers": {
            "qgis": {
                "command": "/Users/<YOUR_USERNAME>/.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 an Anthropic Console Account

    • Create an Anthropic API Key

    • Create a .env:

      touch .env
      
    • Add your key as ANTHROPIC_API_KEY inside the .env:

      # .env
      ANTHROPIC_API_KEY = "your-key-here"
      
    • Start the MCP server:

      uv run main.py --agent get_current_time
      
    • In another terminal session, start the local client, pointing to the address of the server:

      uv run client.py http://localhost:8080/sse
      

    Star History

    Star History

    Mar 18Mar 19Mar 21Mar 24Mar 25Mar 26Mar 28Apr 2Apr 19Apr 27Jul 307142128
    Powered by MSeeP Analytics

    About the Project

    This app has not been claimed by its owner yet.

    Claim Ownership

    Receive Updates

    Security Updates

    Get notified about trust rating changes

    to receive email notifications.