Skip to main content
Glama
README.md
# Quip MCP Server

A Model Context Protocol (MCP) server for Quip document operations that enables direct interaction with Quip documents from AI assistants like Claude.

## Features

- **Read Documents**: Fetch and display Quip document content by ID
- **Append Content**: Add content to the end of existing documents
- **Prepend Content**: Add content to the beginning of documents
- **Replace Content**: Update document content
- **Create Documents**: Intended support for creating new documents (currently redirects to web interface)

## How It Works

This MCP server acts as a bridge between Claude and Quip documents. It works by:

1. Receiving requests from Claude through the MCP protocol
2. Executing a Python script (`quip_edit_fixed.py`) with the appropriate parameters
3. Returning the results back to Claude

## Prerequisites

- Node.js v18 or higher
- TypeScript
- Python with `quip` library installed
- A valid Quip access token

## Installation

1. Clone this repository:
   ```
   git clone https://github.com/AvinashBole/quip-mcp-server.git
   cd quip-mcp-server
   ```

2. Install dependencies:
   ```
   npm install
   ```

3. Build the project:
   ```
   npm run build
   ```

4. Configure your MCP settings:
   ```json
   {
     "mcpServers": {
       "quip": {
         "command": "node",
         "args": ["path/to/quip-server/build/index.js"],
         "env": {
           "QUIP_ACCESS_TOKEN": "your-quip-access-token",
           "QUIP_BASE_URL": "https://platform.quip.com"
         },
         "disabled": false,
         "autoApprove": []
       }
     }
   }
   ```

## Usage

Once connected, the following MCP tools become available to Claude:

- `quip_read_document`: Read a Quip document by its thread ID
- `quip_append_content`: Append content to a document
- `quip_prepend_content`: Add content to the beginning of a document
- `quip_replace_content`: Replace document content
- `quip_create_document`: Create a new document (currently unsupported)

Example usage in Claude:

```
<use_mcp_tool>
<server_name>quip</server_name>
<tool_name>quip_read_document</tool_name>
<arguments>
{
  "threadId": "YOUR_DOCUMENT_ID"
}
</arguments>
</use_mcp_tool>
```

## Python Script Integration

The server expects a Python script called `quip_edit_fixed.py` in the path specified by the `PYTHON_SCRIPT_PATH` constant. This script should support the following operations:

- `read`: Read document content
- `append`: Add content to the end of a document
- `prepend`: Add content to the beginning of a document 
- `replace`: Update document content

## License

ISC License

## Author

AvinashBole

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific document operations: create, read, append, prepend, and replace content. There is no overlap in functionality, making it easy for an agent to select the correct tool for any document editing task.

Naming Consistency5/5

All tools follow a consistent 'quip_verb_noun' pattern with snake_case, using descriptive verbs like create, read, append, prepend, and replace. This uniformity enhances predictability and readability across the toolset.

Tool Count5/5

With 5 tools, the server is well-scoped for document management in Quip, covering essential CRUD-like operations (create, read) and specific content modifications (append, prepend, replace). Each tool earns its place without bloat or gaps.

Completeness4/5

The toolset provides strong coverage for core document operations, including creation, reading, and various content edits. A minor gap exists in lacking a delete or archive tool for document lifecycle management, but agents can still handle most workflows effectively.

Maintenance

ActivityInactive
ResponsivenessNo issues