MCP ExplorerExplorer

Quip Mcp

@petertilsenon a month ago
1 ISC
FreeCommunity
AI Systems
Quip MCP Server enables AI to read, search, and modify Quip documents.

Overview

What is Quip Mcp

Quip MCP is an MCP (Model Context Protocol) server designed for interacting with Quip documents. It allows AI assistants to read, search, and modify Quip documents through a standardized interface.

Use cases

Use cases include enabling AI assistants to read and modify documents, automating document management tasks, and integrating Quip document functionalities into other applications.

How to use

To use quip-mcp, install it from the source or using Docker. Start the server using the console script, Python module, or Docker. Configure your environment variables and use the provided MCP tools to perform document operations.

Key features

Key features include document operations such as reading, searching, creating, appending, prepending, and replacing document content. It also supports MCP protocol, configurable logging, environment-based configuration, and Docker support.

Where to use

Quip MCP can be used in various fields such as project management, collaborative documentation, and AI-driven applications where document manipulation and retrieval are essential.

Content

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>=0.1.0
    • mcp>=1.8.0
    • 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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers