MCPInstall
quip-mcp logo

quip-mcp

by petertilsen 5 stars petertilsen/quip-mcp

Quip MCP Server enables AI to read, search, and modify Quip documents.

READMEmaster

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

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 NameDescriptionParametersExample Usage
read_documentRead a document's contentthread_id"Show me the content of the Quip document with thread ID 'ABC123'"
search_documentsSearch for documentsquery, count (optional)"Find all Quip documents containing 'project planning'" or "Show me the 5 most recent documents about AWS"
create_documentCreate a new documenttitle, content"Create a new Quip document titled 'Meeting Notes' with content 'Agenda items for today:'"
append_contentAdd content to endthread_id, content"Add 'Action items completed' to the end of document ABC123"
prepend_contentAdd content to beginningthread_id, content"Insert 'DRAFT:' at the start of document ABC123"
replace_contentReplace document contentthread_id, content"Replace the content of document ABC123 with 'Updated project timeline'"
get_folderGet details of a specific folderfolder_id"Show me the contents of the Quip folder with ID 'XYZ789'"
get_foldersGet a list of foldersids (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

More Knowledge & Memory MCP servers

Similar servers from the same category.

Supermemory

supermemoryai

Personal knowledge platform that helps collect, organize, and recall information from various sources with end-to-end encryption and optional self-hosting.

Knowledge & Memory

Provides a bridge to the Arc Memory Temporal Knowledge Graph, enabling structured access to repository history, entity relationships, and code provenance without manual navigation of complex codebases.

Knowledge & Memory

Unstructured API

unstructured-io

Integrates with the Unstructured API to enable document processing operations including managing connectors and workflows for extracting structured information from documents without switching tools.

data

Cognee

topoteretes

AI-friendly database and knowledge-management capabilities via various database schemes.

database