spirrow-prismind
MCP server that integrates Google Drive, RAG, and memory services for context-aware knowledge management, enabling session, project, document, catalog, and knowledge operations for AI assistants.
README
Spirrow-Prismind
MCP Server for Context-Aware Knowledge Management
An MCP (Model Context Protocol) server that integrates multiple data sources—Google Drive, RAG (Retrieval-Augmented Generation), and MCP Memory Server—to provide context-aware knowledge management for AI assistants.
Note: 日本語版は README.ja.md を参照してください。
Features
- Session Management: Save and restore work states, automatically suggest relevant documents
- Project Management: Switch between multiple projects, search for similar projects
- Document Operations: Google Docs integration with automatic catalog registration
- Catalog Management: Semantic search with Google Sheets synchronization
- Knowledge Management: RAG-based knowledge storage and retrieval
Requirements
- Python 3.11 or higher
- Google Cloud project with OAuth 2.0 credentials
- RAG server (ChromaDB compatible)
- MCP Memory Server (optional)
Installation
# Clone the repository
git clone https://github.com/SpirrowGames/spirrow-prismind.git
cd spirrow-prismind
# Install the package
pip install -e .
Configuration
-
Copy the example config:
cp config.toml.example config.toml -
Set up Google OAuth credentials:
- Create a project in Google Cloud Console
- Enable Google Docs, Drive, and Sheets APIs
- Create OAuth 2.0 credentials (Desktop application)
- Download
credentials.jsonand place it in the config directory
-
Configure external services in
config.toml:- RAG Server endpoint (ChromaDB compatible)
- MCP Memory Server connection (optional)
Usage
With Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"prismind": {
"command": "spirrow-prismind",
"env": {
"PRISMIND_CONFIG": "/path/to/config.toml"
}
}
}
}
With Claude Code
Add to your Claude Code settings:
{
"mcpServers": {
"prismind": {
"command": "spirrow-prismind",
"env": {
"PRISMIND_CONFIG": "/path/to/config.toml"
}
}
}
}
Available Tools
Session Management
| Tool | Description |
|---|---|
start_session |
Start a session and restore previous state |
end_session |
End session and save state for handoff |
save_session |
Save intermediate session state |
list_sessions |
List all sessions for a project |
delete_session |
Delete a specific session |
list_context_authors |
List the distinct context authors/roles saved for a project |
start_session / end_session / save_session / delete_session accept an
optional author argument. It adds a partition segment to the session key
(prismind:session:{project}:{user}:{author}), so one project+user can hold
multiple independent contexts — one per author/role. An empty author keeps
the legacy key for backward compatibility.
Project Management
| Tool | Description |
|---|---|
setup_project |
Set up a new project |
switch_project |
Switch to another project |
list_projects |
List all projects |
update_project |
Update project settings |
delete_project |
Delete a project |
Document Operations
| Tool | Description |
|---|---|
get_document |
Search and retrieve documents |
create_document |
Create a new document |
update_document |
Update an existing document |
Catalog Operations
| Tool | Description |
|---|---|
search_catalog |
Search the document catalog |
sync_catalog |
Sync catalog (Sheets → RAG) |
Knowledge Operations
| Tool | Description |
|---|---|
add_knowledge |
Add knowledge entries |
search_knowledge |
Search knowledge base |
update_knowledge |
Update an existing knowledge entry |
delete_knowledge |
Delete a knowledge entry |
Progress Management
| Tool | Description |
|---|---|
get_progress |
Get project progress with phases and tasks |
add_task |
Add a new task to progress sheet |
get_task |
Get single task details by ID |
update_task |
Update task (name, description, status, priority, phase move) |
delete_task |
Delete task with blocked_by reference cleanup |
update_task_status |
Update task status |
start_task |
Mark task as in_progress |
complete_task |
Mark task as completed |
block_task |
Mark task as blocked |
Architecture
┌──────────────────────────────────────────────────────────────┐
│ MCP Server │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ Tools │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Session │ │ Project │ │Document │ │Knowledge│ ... │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ └───────┼──────────┼──────────┼──────────┼─────────────┘ │
│ │ │ │ │ │
│ ┌───────┴──────────┴──────────┴──────────┴─────────────┐ │
│ │ Integrations │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │ RAG │ │ Memory │ │ Docs │ │ Drive │ │ │
│ │ │ Client │ │ Client │ │ Client │ │ Client │ │ │
│ │ └────┬───┘ └────┬───┘ └────┬───┘ └────┬───┘ │ │
│ └───────┼──────────┼──────────┼──────────┼─────────────┘ │
└──────────┼──────────┼──────────┼──────────┼────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────────────────┐
│ChromaDB│ │ Memory │ │ Google APIs │
│ RAG │ │ Server │ │ Docs/Drive/Sheets │
└────────┘ └────────┘ └────────────────────┘
Development
Setup
# Install with dev dependencies
pip install -e ".[dev]"
Testing
pytest
Code Quality
# Format code
ruff format .
# Lint and fix
ruff check --fix .
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
- Model Context Protocol - The protocol specification
- MCP Servers - Official MCP server implementations
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.