zuora-memory-mcp-server
v1.0.2
Published
MCP server for Zuora Developer Memory Store
Downloads
7
Maintainers
Readme
Zuora Memory MCP Server
A Model Context Protocol (MCP) server that provides AI access to the Zuora Developer Memory Store. This server enables AI assistants to search, create, and retrieve development memories and knowledge.
Features
- Search Memories: Find relevant development knowledge using natural language queries
- Add Memories: Create new memories with titles, content, and tags
- Tag Filtering: Filter memories by tags for more precise results
Prerequisites
- Node.js 16+ and npm
- Access to a running Zuora Memory Store service
- Valid authentication token (JWT)
Installation
- Clone the repository
- Install dependencies:
cd mcp-server npm install
Configuration
Configure the server using environment variables:
| Variable | Description | Default |
|----------|-------------|---------|
| MEMORY_SERVICE_URL | URL of the Zuora Memory Store service | http://localhost:8080 |
| MEMORY_AUTH_TOKEN | JWT token for authentication | (required) |
| MEMORY_TAGS | Comma-separated default tags automatically applied to all operations | (optional) |
Obtaining an Authentication Token
Using the Login Endpoint (recommended):
curl -X POST http://localhost:8080/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"your_username","password":"your_password"}'The response will include a JWT token in the
tokenfield.Using Environment Variables:
export MEMORY_AUTH_TOKEN="your_jwt_token_here"
Automatic Tag Configuration
The MEMORY_TAGS environment variable allows you to configure default tags that are automatically applied to all memory operations:
- Search Operations: Default tags are automatically included in all searches, memories which tags contain any of the default tags will be returned.
- Add Memory Operations: Default tags are automatically added to new memories in addition to any explicitly provided tags.
Example configuration:
export MEMORY_TAGS="billing,implementation"This will automatically include the tags billing, implementation in all search queries and add them to all new memories.
A memory tagged with ['genesis'] won't be returned by the search_memories tool.
MCP Client Configuration
For MCP clients like Windsurf, create a configuration file (e.g., mcp_config.json) with the following structure:
{
"mcpServers": {
"zuora-memory": {
"command": "npx",
"args": ["-y", "zuora-memory-mcp-server"],
"env": {
"MEMORY_SERVICE_URL": "http://localhost:8080",
"MEMORY_TAGS": "ai,development,personal",
"MEMORY_AUTH_TOKEN": "your-auth-token-here"
}
}
}
}Available Tools
The MCP server provides the following tools:
1. search_memories
Search for memories using natural language queries. Default tags from MEMORY_TAGS environment variable are automatically included.
Parameters:
query(string, optional): Search query to find relevant memoriestags(array of strings, optional): Additional tags to filter memories (combined with configured MEMORY_TAGS)
2. add_memory
Add a new personal memory to the store. Default tags from MEMORY_TAGS environment variable are automatically added.
Parameters:
title(string): Title of the memorycontent(string): Content of the memorytags(array of strings, optional): Additional tags for the memory (combined with configured MEMORY_TAGS)
Integration with MCP Clients
Windsurf Integration
- Open Windsurf settings
- Go to Extensions > MCP Servers
- Add a new MCP server with the following details:
- Name: Zuora Memory Store
- Command: node
- Args: /path/to/mcp-server/index.js
- Environment Variables:
- MEMORY_SERVICE_URL: Your memory service URL
- MEMORY_AUTH_TOKEN: Your JWT token
License
MIT
