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

An MCP (Model Context Protocol) server to interact with the SuzyQ chatbot directly from Cursor IDE.

## What is this?

This server allows you to use SuzyQ (your research co-pilot) directly from Cursor using the MCP protocol. You can ask questions about surveys, missions, actions, data analysis, and more — without leaving your IDE.

## Features

- **Chat with SuzyQ**: Send messages and receive responses from the chatbot
- **Conversation History**: Maintains context across your conversations
- **Multiple Conversations**: Support for multiple active conversations

## Installation

### 1. Install dependencies

```bash
cd mcp-server-suzyq
npm install
```

Or use the installation script:

```bash
./install.sh
```

### 2. Configure in Cursor

Edit your Cursor MCP configuration file (Settings > MCP Servers) or directly edit the configuration file at:

**macOS**: `~/.cursor/mcp.json`

**Linux**: `~/.config/cursor/mcp.json`

Add the following configuration:

```json
{
  "mcpServers": {
    "suzyq": {
      "command": "node",
      "args": ["/path/to/mcp-server-suzyq/index.js"]
    }
  }
}
```

**Important!** Replace `/path/to/` with the actual absolute path to the project.

### 3. Restart Cursor

Close and reopen Cursor to load the new MCP server.

## Usage

Once configured, you can use the following tools in your conversations with Claude in Cursor:

### `ask_suzyq`

Send a message to SuzyQ and receive a response.

**Example usage in Cursor:**
```
"Ask SuzyQ how to create a new mission"
"Ask SuzyQ about data cleaning best practices"
```

**Parameters:**
- `message` (required): The message to send to SuzyQ
- `conversation_id` (optional): Conversation ID to continue a previous conversation

### `new_suzyq_conversation`

Start a new conversation with SuzyQ.

**Example:**
```
"Start a new conversation with SuzyQ"
```

### `get_suzyq_conversation_history`

Get the conversation history for a specific conversation.

**Parameters:**
- `conversation_id` (required): The conversation ID to retrieve history for

## Example Prompts

Here are some examples of how you can interact with SuzyQ from Cursor:

1. **General questions:**
   - "Ask SuzyQ: How do I create a survey with skip logic?"
   - "Ask SuzyQ about quota management best practices"

2. **Continue conversations:**
   - "Continue conversation conv_123456 asking about data cleaning"

3. **Code analysis:**
   - "Ask SuzyQ how we can improve the quotas component"

## Architecture

The MCP server acts as a bridge between Cursor and the Chatbase API:

```
Cursor <-> MCP Server <-> Chatbase API <-> SuzyQ
```

- **Chatbot ID**: `TujsCRqvQAdt7loeL2b9N`
- **API Endpoint**: `https://www.chatbase.co/api/chat/[chatbotId]`

## Troubleshooting

### Server doesn't appear in Cursor

1. Verify the path in the configuration is absolute and correct
2. Check that Node.js is installed (`node --version`)
3. Make sure dependencies are installed (`npm install`)
4. Completely restart Cursor

### Error sending messages

1. Check your internet connection
2. Verify the chatbot ID is correct
3. Check the server logs in the Cursor console

### How to view logs?

MCP server logs appear in Cursor's debug output. To view them:
1. Open the command palette (Cmd/Ctrl + Shift + P)
2. Search for "Developer: Toggle Developer Tools"
3. Go to the "Console" tab

## Development

To modify the server:

1. Edit `index.js`
2. Restart Cursor to load the changes

## Notes

- Conversations are stored in memory and will be lost when the server restarts
- The server uses the public Chatbase API, no special authentication required
- User-specific context (user_id, brand_id, etc.) is not included in this basic version

## Roadmap

- [ ] Persist conversations to disk
- [ ] Support for user context (user_id, brand_id)
- [ ] Integration with Azure Functions context hash
- [ ] Support for streaming responses

## License

MIT

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool serves a distinct, non-overlapping function: sending a message, starting a fresh conversation, and retrieving history. There is no ambiguity about which tool to invoke for a given action.

Naming Consistency5/5

All tool names follow a clear verb_suzyq_noun snake_case pattern: ask_suzyq, new_suzyq_conversation, get_suzyq_conversation_history. Naming is predictable and easy to learn.

Tool Count5/5

Three tools is an appropriate, minimal set for the server's stated purpose of interacting with a SuzyQ chatbot session. Each tool is meaningful and there is no bloat or obviously missing core function.

Completeness4/5

The core lifecycle of a chatbot session is covered: start, ask, and retrieve history. Minor gaps like explicitly deleting a conversation or listing past conversations exist, but they are not essential to the primary workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues