jons-mcp-vega

jonmmease/jons-mcp-vega

3.3

If you are the rightful owner of jons-mcp-vega and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Jon's Vega MCP Server is a FastMCP server designed to render Vega charts through the Model Context Protocol (MCP).

Tools
1
Resources
0
Prompts
0

Jon's Vega MCP Server

An MCP Server for Rendering Vega Charts

A FastMCP server that exposes tools through the Model Context Protocol (MCP).

Requirements

  • Python 3.10+

Installation

# Clone the repository
git clone <your-repo-url>
cd jons-mcp-vega

# Install with uv
uv pip install -e .

Running the Server

uv run jons-mcp-vega

Adding to Claude Code

# Register the MCP server with Claude Code
claude mcp add jons-mcp-vega -- uv run --directory /path/to/jons-mcp-vega jons-mcp-vega

Available Tools

ToolDescription
hello_worldReturns a friendly greeting (example tool)

Development

Setup

# Install with dev dependencies
uv pip install -e ".[dev]"

Running Tests

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=src

# Run a specific test
uv run pytest tests/test_example.py::test_hello_world_default

Code Quality

# Type check
uv run mypy src/jons_mcp_vega

# Format code
uv run black src tests

# Lint code
uv run ruff check src tests

Project Structure

jons-mcp-vega/
├── src/
│   ├── __init__.py
│   └── jons_mcp_vega/
│       ├── __init__.py          # Package exports
│       ├── constants.py         # Configuration constants
│       ├── exceptions.py        # Custom exceptions
│       ├── utils.py             # Utility functions
│       ├── server.py            # FastMCP server setup
│       └── tools/
│           ├── __init__.py      # Tool exports
│           └── example.py       # Example tool
├── tests/
│   ├── conftest.py              # Test fixtures
│   └── test_example.py          # Example tests
├── pyproject.toml               # Project configuration
├── CLAUDE.md                    # AI assistant guidance
└── README.md                    # This file

Adding New Tools

  1. Create a new file in src/jons_mcp_vega/tools/ or add to an existing file
  2. Write an async function with type hints and a docstring:
    async def my_tool(param: str) -> str:
        """Brief description for the MCP tool listing.
    
        Args:
            param: What this parameter does.
    
        Returns:
            What the tool returns.
        """
        return f"Result: {param}"
    
  3. Export from src/jons_mcp_vega/tools/__init__.py
  4. Register in server.py with mcp.tool(my_tool)

License

MIT