Skip to main content

Spice Labs MCP Server

Python server implementing Model Context Protocol (MCP) for various operations from Spice Labs. This allows LLMs to leverage the information and tooling provided with Spice Labs products.

rename to Spice Labs MCP, in line with spicelabs cli

Features

  • Get public Artifact Dependency Graph (ADG) or alias
  • Get entries 'upward'
  • Get PURLS 'upward'
  • Get high-level terminal nodes 'upward'
  • Get ADG entries in bulk
  • Get 'downstream' ADG nodes

Tools

  • get_entry

    • Fetches the public ADG entry or alias from a given identifier
    • Input:
      • identifier (83 character gitoid URL)
  • get_north

    • Returns the ADG entries 'up' from an identifier
    • Input:
      • identifier (83 character gitoid URL)
  • get_north_purls

    • Return all PURLs of nodes 'up' from identifier
    • Input:
      • identifier (83 character gitoid URL)
  • get_north_terminals

    • Return high-level terminal nodes above identifier
    • Input:
      • identifier (83 character gitoid URL)
  • bulk_lookup

    • Fetch ADG entries from identifiers
    • Input:
      • identifiers (list of 83 character gitoid URLs)
  • flatten

    • Return all downstream nodes from identifier
    • Input:
      • identifier (83 character gitoid URL)
  • flatten_source

    • Return all downstream nodes via 'built:from' from identifier
    • Input:
      • identifier (83 character gitoid URL)
  • get package based on purl (zataar)

Getting Started

This section contains instructions on how to install, build, and run the server locally.

Option 1: Using venv and pip

  1. Prerequisites: Ensure you have Python (3.8 or higher) installed.
  2. Create a Virtual Environment: It is recommended to install the package within a virtual environment.
    # Create the virtual environment
    python -m venv venv
    
    # Activate the environment
    # On macOS/Linux:
    source venv/bin/activate
    # On Windows:
    # venv\Scripts\activate
    
  3. Installation with Pip: Install the package from the Python Package Index (PyPI).
    pip install spice-labs-mcp
    

Option 2: Using uv

  1. Install uv: If you do not have uv installed, you can install it with the following command:
    # On macOS and Linux
    curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh
    
    # On Windows (PowerShell)
    powershell -ExecutionPolicy ByPass -c "irm [https://astral.sh/uv/install.ps1](https://astral.sh/uv/install.ps1) | iex"
    
  2. Create a Virtual Environment: uv can create a virtual environment for the project.
    uv venv
    
  3. Install Dependencies: Activate the environment and use uv to install the required packages.
    # Activate the environment
    # On macOS/Linux:
    source .venv/bin/activate
    # On Windows:
    # .venv\Scripts\activate
    
    # Install the package
    uv pip install spice-labs-mcp
    

Connecting to Local LLM Clients

This MCP server can be connected to various AI assistants and development environments that support local stdio connections. Below are instructions for several leading platforms.

Anthropic Claude Desktop

For the desktop application, you configure a local server by editing a JSON configuration file.

  1. Open Claude Desktop Settings:

    • In the Claude Desktop app, navigate to the main application menu (e.g., Claude in the macOS menu bar) and select Settings....
    • Go to the Developer tab.
  2. Edit the Configuration File:

    • Click the Edit Config button. This will open the claude_desktop_config.json file in your default text editor.
    • The file is located at:
      • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
      • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Add the Server Configuration:

    • Add the following JSON object to the mcpServers dictionary. Replace "my-custom-server" with Spice-Labs-MCP and update the command and args to point to main.py.
    {
      "mcpServers": {
        "my-custom-server": {
          "command": "node",
          "args": ["/path/to/main.py"]
        }
      }
    }
    
  4. Restart Claude Desktop:

    • Completely quit and restart the application. The spice-labs-mcp and its tools will then be available in the tool selection menu within the chat interface.

Google Gemini

In environments like VS Code with the Gemini Code Assist extension, local MCP servers can be configured by editing a settings file.

  1. Locate Gemini Settings: Open your Gemini settings JSON file. In many environments, this is located in your user home directory at ~/.gemini/settings.json.

  2. Add the Server Configuration: Add the server's details to the mcp.servers list in the JSON file.

    {
      "mcp.servers": [
        {
          "name": "spice-labs-mcp",
          "transport": "stdio",
          "command": ["node", "/path/to/spice-labs-mcp.js"]
        }
      ]
    }
    
  3. Reload the Environment: Reload your IDE or application (e.g., in VS Code, open the Command Palette and run Developer: Reload Window). The Gemini agent will now have access to the tools provided by your server. You can typically verify this by using a command like /mcp in the chat to list connected servers.

Codename Goose

  1. Get to Add custon extension page: Under the Extensions tab of the Goose GUI, then click Add custom extension button at the top of the page

  2. Input information for spice-labs-mcp Extension name: spice-labs-mcp Command: uv run absolute/path/main.py

  3. Restart Goose: Relaunch your Goose session. The tools from your local MCP server will now be available to the agent.


Copyright and license

The contents of this repository are copyrighted by Spice Labs, Inc. and licensed under the Apache 2.0 license

Copyright 2025 Spice Labs, Inc. & Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Metadata

Release files for spice-labs-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spice-labs-mcp 0.1.1
File Size Uploaded
spice_labs_mcp-0.1.1.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spice-labs-mcp 0.1.1
File Interpreter ABI Platform
spice_labs_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.7 kB

Release files / spice_labs_mcp-0.1.1.tar.gz

Download URL spice_labs_mcp-0.1.1.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a61858a264e69095a45a8b11b08cab66a03fab56531fc403724e702b6165cea6
BLAKE2b-256 checksum
How to use checksums
76819d21d9734ee7e22bb85c3ddecc0ebfdf97aa6682b559d2097463885a88b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / spice_labs_mcp-0.1.1-py3-none-any.whl

Download URL spice_labs_mcp-0.1.1-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f723231dcf9ebc6dcaebc0f0ceeaea536ee1f906ed479754818d6a9d0cd93337
BLAKE2b-256 checksum
How to use checksums
0d91b422683ad76af1c57db223d3d9fa8a7121e1222f1499dc84e0ff9bc11620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page