MCP HubMCP Hub
fusedio

fused-mcp

by: fusedio

Fused MCP Agents: Setting up MCP Servers for Data Scientists

23created 17/03/2025
Visit
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

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

  1. Clone this repository and navigate to it:

    git clone https://github.com/fusedio/fused-mcp.git
    cd fused-mcp/
    
  2. 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"
      
  3. Test the client by asking for its info:

    uv run main.py -h
    
  4. 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 pass uv:

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

  1. Create an Anthropic Console Account.

  2. Create an Anthropic API Key.

  3. Create a .env file:

    touch .env
    
  4. Add your API key inside .env:

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

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

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