Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Quip

FreeNot checked

Enables AI assistants to read, search, create, and edit Quip documents through the MCP protocol.

GitHubEmbed

About

Enables AI assistants to read, search, create, and edit Quip documents through the MCP protocol.

README

An MCP (Model Context Protocol) server for interacting with Quip documents. This server enables AI assistants like Amazon Q to read, search, and modify Quip documents through a standardized interface.

Features

  • Document Operations

    • Read document content
    • Search across documents
    • Create new documents
    • Append content to documents
    • Prepend content to documents
    • Replace document content
  • Integration Features

    • MCP protocol support
    • Configurable logging
    • Environment-based configuration
    • Docker support

Installation

From Source

git clone <repository-url>
cd quip-mcp-server
pip install -e .

Development Installation

pip install -e ".[dev]"

Requirements

  • Python 3.8 or higher
  • Required packages (installed automatically):
    • strands-agents>=1.3.0
    • mcp>=1.12.3
    • python-dotenv>=1.0.0
    • requests>=2.25.0
    • uvicorn>=0.23.1
    • httpx>=0.24.0
    • starlette>=0.27.0

Configuration

  1. Copy the example environment file:
cp .env.example .env
  1. Configure your environment variables in .env:
# Quip API credentials
QUIP_ACCESS_TOKEN=your_quip_access_token_here
QUIP_BASE_URL=https://platform.quip-amazon.com

# MCP server configuration
MCP_SERVER_PORT=8080
MCP_SERVER_HOST=localhost

# Logging configuration
LOG_LEVEL=INFO  # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL

Usage

Starting the Server

  1. Using the console script:
quip-mcp-server
  1. Using Python module:
python -m quip_mcp_server
  1. Using Docker:
docker-compose up

Available Tools

The server provides the following MCP tools:

Tool Name Description Parameters Example Usage
read_document Read a document's content thread_id "Show me the content of the Quip document with thread ID 'ABC123'"
search_documents Search for documents query, count (optional) "Find all Quip documents containing 'project planning'" or "Show me the 5 most recent documents about AWS"
create_document Create a new document title, content "Create a new Quip document titled 'Meeting Notes' with content 'Agenda items for today:'"
append_content Add content to end thread_id, content "Add 'Action items completed' to the end of document ABC123"
prepend_content Add content to beginning thread_id, content "Insert 'DRAFT:' at the start of document ABC123"
replace_content Replace document content thread_id, content "Replace the content of document ABC123 with 'Updated project timeline'"
get_folder Get details of a specific folder folder_id "Show me the contents of the Quip folder with ID 'XYZ789'"
get_folders Get a list of folders ids (optional) "List all my Quip folders" or "Show me details of folders ABC123, XYZ789"

Example conversations with Amazon Q:

User: "Can you read my latest meeting notes from Quip?"
Q: Let me search for and read your meeting notes document.
[Uses search_documents followed by read_document]

User: "Create a new Quip document for today's sprint planning"
Q: I'll create a new document with a standard sprint planning template.
[Uses create_document with appropriate title and content]

User: "Add today's action items to my project notes"
Q: I'll append the action items to your project document.
[Uses append_content to add new items]

Using with Amazon Q

  1. Add the MCP server to Q CLI:
q mcp add quip http://localhost:8080
  1. Use in conversations with Q:
@q Use quip___read_document to read the document with ID "ABC123"
@q Search Quip documents for "meeting notes" using quip___search_documents

Development

Project Structure

quip_mcp_server/
├── __init__.py          # Package initialization
├── __main__.py          # Entry point
├── logging_config.py    # Centralized logging configuration
├── quip.py              # Core Quip API client
├── quip_edit.py         # Document editing functionality
└── strands_agent.py     # MCP agent implementation

tests/
├── __init__.py          # Test package initialization
├── conftest.py          # Test fixtures and configuration
├── test_logging_config.py  # Tests for logging configuration
├── test_main.py         # Tests for main module
├── test_quip.py         # Tests for Quip client
├── test_quip_edit.py    # Tests for document editing
└── test_strands_agent.py  # Tests for MCP agent

Running Tests

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

# Run tests with coverage
pytest

# Generate coverage reports
pytest --cov=quip_mcp_server --cov-report=html

The current test suite provides approximately 50% code coverage, focusing on the core functionality. The main module tests are currently skipped as they require more complex mocking.

Docker Build

docker build -t quip-mcp-server .

License

Apache 2.0

from github.com/petertilsen/quip-mcp

Install Quip in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install quip-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add quip-mcp -- uvx quip-mcp-server

FAQ

Is Quip MCP free?

Yes, Quip MCP is free — one-click install via Unyly at no cost.

Does Quip need an API key?

No, Quip runs without API keys or environment variables.

Is Quip hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Quip in Claude Desktop, Claude Code or Cursor?

Open Quip on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Quip with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs