Skip to main content
Glama

Quip MCP Server

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

Related MCP server: Google Drive MCP Server

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

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/petertilsen/quip-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server