A Model Context Protocol (MCP) server implementation for searching operational procedures and knowledge using Zep memory service. This server provides tools for searching and retrieving operational documentation, procedures, workflows, and task knowledge stored in Zep's graph memory.
- Procedure search using Zep's graph memory
- Operational knowledge retrieval
- Workflow and task documentation access
- MCP protocol implementation for seamless integration
- NPX support for easy installation and usage
- Node.js (v16 or higher)
- Zep Cloud account and API key
You can run the server directly using NPX without installing it globally:
npx procedure-memory-mcp-server@latest
- Clone the repository:
git clone <repository-url>
cd procedure-memory-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
To use this server with Claude Desktop, add the following to your MCP settings file:
Location: ~/.cursor/mcp.json
(for Cursor) or ~/Library/Application Support/Claude/claude_desktop_config.json
(for Claude Desktop)
{
"mcpServers": {
"procedure-search": {
"command": "node",
"args": [
"/path/to/syiaOpsMemory/dist/index.js"
],
"env": {
"ZEP_API_KEY": "your-zep-api-key-here",
"USER_ID": "your-user-id-here"
}
}
}
}
Replace:
-
/path/to/syiaOpsMemory
with the actual path to your project directory -
your-zep-api-key-here
with your Zep Cloud API key -
your-user-id-here
with your Zep user ID (e.g., "syiaOpsMemory")
The server supports the following environment variables:
ZEP_API_KEY=<your-zep-api-key> # Zep Cloud API key for memory storage
USER_ID=<your-user-id> # User ID for Zep memory queries
When using NPX, you can pass environment variables:
ZEP_API_KEY="your-key" USER_ID="your-id" npx procedure-memory-mcp-server@latest
npm run dev
npm start
The server implements the following MCP endpoints:
-
tools.list
- List available tools -
tools.call
- Call a specific tool
Available Tools:
-
search_procedures
- Search for procedures, documentation, and operational knowledge stored in memory. This tool searches across all procedure episodes, finding relevant documentation based on your query.
Example tool usage:
{
"method": "tools.call",
"params": {
"name": "search_procedures",
"arguments": {
"query": "database connection setup",
"numResults": 3
}
}
}
To test the server functionality, you can use the MCP inspector or interact with the server directly through stdio. Here are some example requests in JSON format that you can send to the server:
- List Tools:
{
"method": "tools.list"
}
- Search Procedures:
{
"method": "tools.call",
"params": {
"name": "search_procedures",
"arguments": {
"query": "authentication workflow",
"numResults": 5
}
}
}
To test the server:
- Start the server:
npm start
- Send the JSON requests to the server's stdin. The server will respond through stdout.
Note: The server uses the Model Context Protocol (MCP) with stdio transport, which means it communicates through standard input/output rather than HTTP endpoints. This is the standard way MCP servers operate, allowing for direct integration with AI models and other MCP-compatible systems.
src/
├── index.ts # Main server entry point
├── tools/ # Tool definitions and handlers
│ ├── index.ts # Tool registry
│ └── procedureSearch.ts # Zep-based procedure search
└── utils/ # Utility functions and configurations
└── config.ts # Configuration management
To add new tools, create them in the src/tools/
directory and register them in src/tools/index.ts
.
This server uses Zep Cloud for storing and retrieving operational procedures and knowledge. The search functionality leverages Zep's graph-based memory system to find the most relevant episodes based on:
- Semantic similarity
- Reference count
- Relationship strength
- Contextual relevance
-
"Cannot find module" error
- Make sure you've built the project:
npm run build
- Verify the path in your MCP config points to the
dist/index.js
file
- Make sure you've built the project:
-
"Server disconnected" error
- Check that your ZEP_API_KEY is valid
- Ensure the USER_ID matches your Zep account
- Look at the MCP logs for detailed error messages
-
No results returned
- Verify your Zep memory contains data for the specified USER_ID
- Try broader search queries
- Check the relevance threshold settings
After updating your MCP configuration:
- Close Claude Desktop/Cursor completely
- Reopen the application
- The server should now be available in the MCP tools
MIT