worklab-tools
Allows generating images using Google Gemini API and uses Gemini for PPT generation via OpenRouter.
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., "@worklab-tools search for notes about machine learning"
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.
worklab-tools — MCP Server for Personal Knowledge Management
A Model Context Protocol (MCP) server that provides AI-powered tools for knowledge management, including semantic search, audio transcription, image generation, and PPT creation.
Built for use with Claude Code and the Knowledge system.
Tools
Tool | Description |
| Semantic search over knowledge base (ChromaDB + bge-m3) |
| Full rebuild of vector index from all markdown files |
| Incremental index update (MD5 diff, only re-index changed files) |
| Generate PPT: plan outline → slide images → PDF output |
| Generate image from text description (Gemini) |
| Speech-to-text with speaker diarization (Whisper + pyannote) |
| Register speaker voiceprint for future identification |
Related MCP server: rag-mcp
Setup
# Clone
git clone https://github.com/Ryeliu/worklab-tools.git
cd worklab-tools
# Install dependencies (requires Python 3.12+, uv recommended)
uv sync
# Configure environment
cp .env.example .env
# Edit .env with your API keys
# Run
uv run mcp run server.pyEnvironment Variables
Create a .env file:
GEMINI_API_KEY=your_google_ai_studio_key
HF_TOKEN=your_huggingface_token
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_API_KEY=your_openrouter_keyVariable | Required For | Source |
|
| |
|
| |
|
|
Register with Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"worklab-tools": {
"command": "uv",
"args": ["run", "--directory", "/path/to/worklab-tools", "mcp", "run", "server.py"],
"env": {
"GEMINI_API_KEY": "...",
"HF_TOKEN": "...",
"OPENROUTER_BASE_URL": "https://openrouter.ai/api/v1",
"OPENROUTER_API_KEY": "..."
}
}
}
}Dependencies
Semantic Search:
chromadb,sentence-transformers(BAAI/bge-m3, CPU)Transcription:
openai-whisper(large-v3),pyannote.audio(speaker diarization)PPT Generation:
openaiSDK (OpenRouter → Gemini),PillowImage Generation:
httpx(Gemini API direct)
License
MIT
Available Tools
7 toolsgenerate_imageA
Generate an image from a text description using Gemini (nano banana). Use this when the user needs illustrations, diagrams, icons, or any visual content. The image will be saved to the current working directory.
Args:
prompt: Description of the image to generate
filename: Output filename (default: output.png)
Inputs: prompt (required), filename. Returns: result
generate_pptA
Generate a complete PPT presentation from a topic and optional context. Plans an outline using Gemini, generates slide images, and outputs a PDF.
Use this when the user wants to create a PPT/presentation. The /ppt skill
calls this tool automatically with knowledge base context.
Args:
topic: The presentation topic (e.g. "润信科技 介绍", "AI在金融领域的应用")
context_text: Optional reference content to inform the slides (max 3000 chars used)
page_count: Number of slides to generate (default 5)
Inputs: topic (required), page_count, context_text. Returns: result
index_knowledgeA
Rebuild the vector index from all markdown files in the knowledge base. Scans companies/, people.md, projects.md, meetings/ and indexes all content into ChromaDB with rich metadata for semantic search and filtering. Call this after adding or updating knowledge base files.
Inputs: no named parameters. Returns: result
register_voiceprintA
Register a person's voiceprint from an audio file. The audio should contain only one person speaking clearly for 20-30 seconds. The voiceprint will be saved and used to identify this person in future meeting transcriptions.
Args:
name: The person's name (will be used as label in transcriptions)
file_path: Absolute path to an audio file with the person's voice
Inputs: name (required), file_path (required). Returns: result
search_knowledgeA
Search the knowledge base using semantic similarity with optional filters.
Args:
query: Natural language search query (e.g. "金融AI", "RPA项目进展")
type: Filter by entity type: person/project/company/meeting (optional)
company: Filter by company name (optional, partial match)
person: Filter by person name (optional, partial match)
top_k: Number of results to return (default 5)
Inputs: query (required), type, top_k, person, +1 more. Returns: result
transcribe_audioA
Transcribe an audio/video file to text using local Whisper. Automatically detects multiple speakers using pyannote and matches against registered voiceprints. Unknown speakers are labeled as "未知说话人1", "未知说话人2", etc.
Use this when the user provides an audio/video file and wants:
- Speech-to-text transcription
- Meeting minutes / meeting notes
- Interview transcription
- Any audio content converted to text
Args:
file_path: Absolute path to the audio/video file
model_size: Whisper model size (default: large-v3 for best Chinese support)
Inputs: file_path (required), model_size. Returns: result
upsert_knowledgeA
Incrementally update the vector index — only re-index changed files. Compares file MD5 hashes to detect additions, modifications, and deletions. Much faster than index_knowledge() when only a few files changed.
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Most tools have clearly distinct purposes: knowledge indexing/search, image generation, PPT creation, audio transcription, and voiceprint registration. However, index_knowledge and upsert_knowledge both handle updating the vector index, and an agent might initially be unsure which to call; descriptions clarify the difference but some overlap exists.
All tool names follow a consistent verb_noun pattern in snake_case: index_knowledge, search_knowledge, generate_image, generate_ppt, transcribe_audio, register_voiceprint. This makes the set predictable and easy to navigate.
Seven tools is well within the ideal range and each tool serves a distinct function across three logical clusters: knowledge management (3), content generation (2), and audio processing (2). The count feels appropriately scoped for a worklab assistant without being overwhelming.
The knowledge base tools cover the full indexing/search lifecycle, and image/PPT generation covers creation needs. However, voiceprint management is minimal—there is a register function but no way to list, update, or delete voiceprints, and audio transcription relies on pre-registered voices without a fallback for managing those. Overall, core workflows are covered with minor gaps.
Maintenance
Related MCP Connectors
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
One MCP server for the services your AI needs: memory, files, Microsoft 365, kanban and more.
Self-hosted AI workspace: semantic RAG document search, long-term memory, and AI chat via MCP.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to perform semantic searches over local document collections using multi-context organization and automatic OCR. It supports various file formats including PDF, DOCX, and images, ensuring all data processing remains local and private.8MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP knowledge server that enables saving and retrieving memory across sessions, with tools to ingest text, URLs, YouTube, and files, and perform semantic search.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for information collection, text analysis, and content generation, enabling AI agents to scrape web pages, analyze text, and generate reports or presentations.89 npmMIT
- AlicenseNot gradedqualityCmaintenanceA self-hosted MCP server that provides a personal semantic memory layer for AI tools. It enables storing, searching, and managing memories using hybrid vector and keyword search, allowing AI assistants to recall information by meaning.MIT