SuzyQ MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SuzyQ MCP ServerAsk SuzyQ how to create a new mission"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: Cursor DB MCP Server
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
cd mcp-server-suzyq
npm installOr use the installation script:
./install.sh2. 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:
{
"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 SuzyQconversation_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:
General questions:
"Ask SuzyQ: How do I create a survey with skip logic?"
"Ask SuzyQ about quota management best practices"
Continue conversations:
"Continue conversation conv_123456 asking about data cleaning"
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 <-> SuzyQChatbot ID:
TujsCRqvQAdt7loeL2b9NAPI Endpoint:
https://www.chatbase.co/api/chat/[chatbotId]
Troubleshooting
Server doesn't appear in Cursor
Verify the path in the configuration is absolute and correct
Check that Node.js is installed (
node --version)Make sure dependencies are installed (
npm install)Completely restart Cursor
Error sending messages
Check your internet connection
Verify the chatbot ID is correct
Check the server logs in the Cursor console
How to view logs?
MCP server logs appear in Cursor's debug output. To view them:
Open the command palette (Cmd/Ctrl + Shift + P)
Search for "Developer: Toggle Developer Tools"
Go to the "Console" tab
Development
To modify the server:
Edit
index.jsRestart 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
Available Tools
3 toolsask_suzyqB
Send a message to SuzyQ chatbot and get a response. SuzyQ is your research co-pilot that can help you with questions about surveys, missions, actions, data analysis, and more within the Suzy platform.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The message to send to SuzyQ | |
| conversation_id | No | Optional conversation ID to continue a previous conversation. If not provided, a new conversation will be started. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It accurately describes the send-and-receive interaction, but it does not disclose that omitting conversation_id starts a new conversation or any other side effects. The behavior is not misleading, but it is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The first sentence front-loads the action, and the second provides useful context about SuzyQ's capabilities. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the core purpose and scope. However, it does not explain how it relates to the sibling conversation-management tools, and without an output schema it leaves response expectations vague. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema for the message or conversation_id parameters; it relies entirely on the structured field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Send a message to SuzyQ chatbot and get a response') and names the resource (SuzyQ). It is easy to understand what the tool does, though it does not explicitly contrast it with sibling tools like new_suzyq_conversation or get_suzyq_conversation_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling tools. The optional conversation_id in the schema hints at continuing vs. starting a conversation, but the description itself gives no usage context, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_suzyq_conversation_historyB
Get the conversation history for a specific conversation with SuzyQ.
| Name | Required | Description | Default |
|---|---|---|---|
| conversation_id | Yes | The conversation ID to retrieve history for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, yet it only restates the surface-level action. It does not confirm the read-only nature of the operation, describe the return format or ordering of the history, or indicate any limits, pagination behavior, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 12-word sentence with no filler; the action verb and object are front-loaded and every word carries meaning. The size is appropriate for a simple single-parameter retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read with full schema coverage, the description is minimally viable. However, with no output schema and no annotations, it leaves unstated what the returned history actually looks like (message list, plain text, timestamps) and provides no usage context to help the agent decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents conversation_id as 'The conversation ID to retrieve history for'. The description adds no parameter-level meaning beyond the schema, which maps to the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get'), a concrete resource ('conversation history'), and a clear scope ('for a specific conversation with SuzyQ'). It is internally clear and unambiguous, but it does not explicitly distinguish itself from its siblings ask_suzyq and new_suzyq_conversation, relying on the tool name for that differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to retrieve history versus asking SuzyQ a question or starting a new conversation. The agent must infer usage from the tool name alone, with no stated prerequisites (e.g., that the conversation already exists) and no mention of when this tool is the right choice among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_suzyq_conversationA
Start a new conversation with SuzyQ. This will clear the current conversation history and start fresh.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it clearly discloses the important side effect: 'This will clear the current conversation history and start fresh.' This is essential behavioral information that goes beyond the tool name and meaningfully warns the agent about the destructive reset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The primary action is stated first, followed by the critical side effect. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema and no annotations, the description provides all essential context: what the tool does and the irreversible impact on conversation history. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema already covers everything. With no parameters, the description need not explain parameter details, and the baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Start a new conversation with SuzyQ') and the resource affected ('current conversation history'). It differentiates from siblings by specifying that this operation clears history and starts fresh, which is distinct from asking a question or retrieving history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a fresh conversation is needed and the current history should be discarded. However, it does not explicitly contrast with sibling tools like ask_suzyq or get_suzyq_conversation_history, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
ask_suzyq - First observed
get_suzyq_conversation_history - First observed
new_suzyq_conversation
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceImplements a RAG workflow that integrates with any custom knowledge base and can be triggered directly from the Cursor IDE.-
- AlicenseNot gradedqualityDmaintenanceEnables querying, searching, and analyzing Cursor IDE conversation history from SQLite workspaceStorage databases. Supports exporting chat data in multiple formats and provides workspace utilities for managing conversation data across projects.MIT
- FlicenseNot gradedqualityDmaintenanceEnables multi-agent research with web search and analysis, accessible via VS Code Copilot tools.-
- FlicenseNot gradedqualityDmaintenanceEnables querying Cisco CX Assistant (production and stage) directly from Cursor using natural language, with browser-based authentication via Google Chrome.-