Quip MCP Server

by zxkane

2 342 downloads Not rated yet MIT
GitHub

About

Model Context Procotol(MCP) server for fetching Quip document

Details

License
MIT

Explore

- Retrieve spreadsheet content from Quip documents
- Support for selecting specific sheets by name
- Returns data in CSV format with metadata
- Handles authentication via Quip API token
- Provides appropriate error messages for non-spreadsheet documents
- Automatically handles large spreadsheets by truncating content when necessary
- Stores spreadsheet content locally for efficient access
- Provides resource URIs for accessing complete spreadsheet content

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Quip MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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

Set up the required environment variables:

export QUIP_TOKEN=your_quip_api_token
export QUIP_BASE_URL=https://platform.quip.com # Optional, defaults to this value
export QUIP_STORAGE_PATH=/path/to/storage # Optional, defaults to ~/.quip-mcp-server/storage


Alternatively, create a .env file in the root directory:

QUIP_TOKEN=your_quip_api_token
QUIP_BASE_URL=https://platform.quip.com
QUIP_STORAGE_PATH=/path/to/storage

Add to your Claude settings:

json
"mcpServers": {
"quip": {
"command": "uvx",
"args": ["quip-mcp-server", "--storage-path", "/path/to/storage"],
"env": {
"QUIP_TOKEN": "your_quip_api_token"
}
}
}

If you want to use the file protocol for resource URIs:

json
"mcpServers": {
"quip": {
"command": "uvx",
"args": ["quip-mcp-server", "--storage-path", "/path/to/storage", "--file-protocol"],
"env": {
"QUIP_TOKEN": "your_quip_api_token"
}
}
}

Run the server directly:

bash

python -m src.server --storage-path /path/to/storage

- pyproject.toml: Standard Python packaging configuration
- uvproject.yaml: uv-specific project configuration
- .uv/config.toml: uv configuration settings
- .python-version: Specifies Python 3.12 as the project's Python version (used by pyenv and other version managers)

To set up a development environment:


uv venv
uv pip install -e .

uv pip install pytest black isort mypy

Alternatively, you can use the uvproject.yaml file:


uv pip sync

source .venv/bin/activate

The project uses pytest for testing. To run the tests:

bash

TEST_THREAD_ID=your_test_spreadsheet_thread_id
TEST_SHEET_NAME=Sheet1 # Optional: specific sheet name to test


2. Run the e2e tests:
bash

npx @modelcontextprotocol/inspector uvx quip-mcp-server

To add new tools:

1. Define the tool in src/tools.py by adding it to the get_quip_tools() function.
2. Implement the handler function for the tool.
3. Register the handler in src/server.py by adding it to the call_tool() function.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "quip mcp server": {
            "quip-mcp-server-python": {
                "command": "uvx",
                "args": [
                    "quip-mcp-server"
                ]
            }
        }
    }
}

McpServers

{
    "quip-mcp-server-python": {
        "command": "uvx",
        "args": [
            "quip-mcp-server"
        ]
    }
}

A Model Context Protocol (MCP) server for interacting with Quip spreadsheets. This server provides tools to read spreadsheet data from Quip documents and return the content in CSV format.

Features

- Retrieve spreadsheet content from Quip documents
- Support for selecting specific sheets by name
- Returns data in CSV format with metadata
- Handles authentication via Quip API token
- Provides appropriate error messages for non-spreadsheet documents
- Automatically handles large spreadsheets by truncating content when necessary
- Stores spreadsheet content locally for efficient access
- Provides resource URIs for accessing complete spreadsheet content

Installation

Using uvx (recommended)

When using uv, no specific installation is needed. We will use uvx to directly run the server:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.