MCP Personal Assistant
Click on "Install 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., "@MCP Personal Assistantadd a todo to finish the quarterly report by Friday"
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.
MCP Personal Assistant
A comprehensive MCP (Model Context Protocol) server for personal productivity management, including status tracking, project management, todos, calendar functionality, and document storage.
Features
๐ Status Management
Track your current location, laptop details, and system permissions
View a dashboard of active projects and upcoming tasks
Update your personal information and system status
๐ Project Management
Create and manage projects with customizable status and priority
Add tasks to projects with due dates and priorities
Track project progress with percentage completion
Filter projects by status (not started, in progress, on hold, completed, cancelled)
โ Todo Management
Create and manage todos with due dates and reminders
Set priority levels (low, medium, high, urgent)
Mark todos as completed
Filter todos by completion status
๐ Calendar Management
Create calendar events with start/end times
Set event locations and attendee lists
Configure reminder notifications
View events within date ranges
๐ Document Management
Upload and store documents (PDFs, images, text files, etc.)
Create references to external documents (cloud storage links)
Tag and organize documents
Support for encrypted storage
Automatic file type detection and categorization
Related MCP server: Follow Plan MCP Server
Installation & Setup
Prerequisites
Python 3.10 or higher
Claude Desktop application
Installation Options
Option 1: Install from PyPI (Recommended)
Using uvx (recommended):
uvx install mcp-personal-assistantUsing pipx:
pipx install mcp-personal-assistantUsing pip:
pip install mcp-personal-assistantOption 2: Install from Source (Development)
Step 1: Clone the Repository
git clone <repository-url>
cd mcp-paStep 2: Create Virtual Environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateStep 3: Install Dependencies
pip install -r requirements.txt
pip install -e . # Install in development modeConfiguration
The MCP server can be configured using environment variables:
Database Configuration
MCP_PA_DB_TYPE: Database type (sqliteortinydb, default:sqlite)MCP_PA_DB_PATH: Custom database file pathMCP_PA_ENCRYPTION_KEY: Encryption key for database (optional)
Storage Configuration
MCP_PA_DOCS_DIR: Directory for document storageMCP_PA_MAX_FILE_SIZE_MB: Maximum file size in MB (default: 100)
Default Locations
macOS:
~/Library/Application Support/mcp-pa/Linux:
~/.config/mcp-pa/Windows:
%APPDATA%\mcp-pa\
To use specific settings:
export MCP_PA_DB_TYPE=sqlite
export MCP_PA_ENCRYPTION_KEY=mysecretkey
export MCP_PA_DOCS_DIR=/path/to/documentsClaude Desktop Configuration
Locate your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the MCP server configuration:
For PyPI Installation (uvx/pipx/pip):
{
"mcpServers": {
"personal-assistant": {
"command": "uvx",
"args": ["mcp-personal-assistant"],
"env": {
"MCP_PA_DB_TYPE": "sqlite"
}
}
}
}For Source Installation:
{
"mcpServers": {
"personal-assistant": {
"command": "/path/to/your/mcp-pa/venv/bin/python",
"args": ["-m", "src.server"],
"cwd": "/path/to/your/mcp-pa",
"env": {
"MCP_PA_DB_TYPE": "sqlite"
}
}
}
}Notes for Source Installation:
Use the full path to your virtual environment's Python executable
Use the full path to your project directory in the
cwdfieldOn Windows, use forward slashes or escaped backslashes in paths
Restart Claude Desktop for the configuration to take effect
Usage Examples
Once configured, the MCP Personal Assistant integrates seamlessly with Claude Desktop. Here are some examples of how it works:
Claude Desktop Settings

You can configure Claude with custom instructions to automatically use the MCP Personal Assistant tools for status updates and project management.
MCP Server Status

The server appears in Claude Desktop's developer settings, showing it's running and properly configured.
Creating Projects

You can ask Claude to create projects, and it will use the MCP Personal Assistant tools to manage your project data.
Managing Project Data

The assistant can update project status, add tasks, and maintain detailed project information with automatic data persistence.
Intelligent Assistance

Claude can access your status and project history to provide personalized recommendations and assistance based on your stored preferences and travel history.
Verification
After restarting Claude Desktop, you should see the MCP Personal Assistant tools available. You can verify the setup by:
Asking Claude to use the
get_statustoolCreating a test project with
create_projectViewing the dashboard with
get_dashboard
If you encounter issues, check the Claude Desktop logs at:
macOS:
~/Library/Logs/Claude/mcp-server-personal-assistant.log
Quick Start Examples
๐ PyPI Installation Quick Start
# Install the package
uvx install mcp-personal-assistant
# Copy the Claude Desktop config template (update paths as needed)
cp examples/claude_desktop_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Restart Claude Desktop๐งช Test the Installation
# Test the console script
mcp-personal-assistant --help
# Run the basic usage example to verify everything works
python examples/basic_usage.py๐ Template Files
The examples/ directory contains ready-to-use templates and scripts:
claude_desktop_config.json- Template configuration for Claude Desktopbasic_usage.py- Standalone script to test functionalityUsage screenshots showing the MCP in action
Available Tools
Status Management
get_status
Get your current status including location, laptop details, permissions, and system information.
update_status
Update your status information.
Project Management
create_project
Create a new project with name, description, status, priority, dates, and tags.
list_projects
List all projects or filter by status.
get_project
Get detailed information about a specific project.
update_project
Update project information including status, priority, and progress.
add_project_task
Add a task to a project.
Todo Management
create_todo
Create a new todo with title, description, due date, priority, and tags.
list_todos
List all todos with optional completion status filter.
complete_todo
Mark a todo as completed.
Calendar Management
create_calendar_event
Create a calendar event with start/end times, location, and attendees.
list_calendar_events
List calendar events within a date range.
Document Management
upload_document
Upload a document with base64 encoded content.
Parameters:
- title: Document filename
- content_base64: Base64 encoded file content
- description: Optional description
- tags: Optional tags arraycreate_external_document
Create a reference to an external document.
Parameters:
- title: Document title
- external_url: URL to external document
- description: Optional description
- tags: Optional tags arraylist_documents
List all documents with optional tag filtering.
get_document
Get detailed information about a specific document.
Dashboard
get_dashboard
Get a comprehensive dashboard view of all activities.
Database Support
SQLite (Default)
Better performance for larger datasets
ACID compliance with transaction support
Thread-safe with connection pooling
Efficient concurrent access
Supports database encryption
TinyDB
Simple JSON-based storage
Human-readable database file
Supports encryption via Fernet
Good for smaller datasets
Easy to backup and inspect
Document Storage
The document manager supports:
Automatic file type detection
SHA-256 checksum calculation
File size validation
Metadata tagging
External document references
Supported document types:
PDF files
Images (JPEG, PNG, etc.)
Text files
Spreadsheets (Excel, CSV)
Presentations (PowerPoint)
Other file types
Security Features
Database Encryption
SQLite: Can use SQLCipher for encryption (if available)
TinyDB: Uses Fernet symmetric encryption
Encryption key configurable via environment variable
Document Security
Files stored with unique IDs
Original filenames preserved in metadata
Checksum verification for integrity
File size limits enforced
Advanced Usage
Using with Multiple Instances
The server supports concurrent access from multiple clients:
SQLite uses connection pooling
TinyDB uses thread-safe locking
Both handle concurrent read/write operations
Custom Database Location
export MCP_PA_DB_PATH=/custom/path/database.sqliteEncrypted Database
export MCP_PA_ENCRYPTION_KEY=your-secure-key-hereProject Structure
mcp-personal-assistant/
โโโ README.md # Main documentation
โโโ pyproject.toml # Package configuration
โโโ requirements.txt # Core dependencies
โโโ LICENSE # License file
โโโ pytest.ini # Test configuration
โโโ Makefile # Build automation
โ
โโโ src/ # Source code
โ โโโ __init__.py
โ โโโ server.py # Main MCP server
โ โโโ config.py # Configuration management
โ โโโ models.py # Data models
โ โโโ database_interface.py
โ โโโ database_factory.py
โ โโโ sqlite_database.py
โ โโโ tinydb_database.py
โ โโโ document_manager.py
โ โโโ config/ # Configuration modules
โ
โโโ examples/ # Usage examples
โ โโโ README.md
โ โโโ claude_desktop_config.json
โ โโโ basic_usage.py
โ
โโโ docs/ # Documentation
โ โโโ quickstart.md
โ โโโ architecture.md
โ โโโ cloud-architecture.md
โ โโโ security.md
โ โโโ development-notes.md
โ
โโโ tests/ # Test files
โ
โโโ scripts/ # Utility scripts
โ โโโ check_performance_regression.py
โ โโโ run_http_server.py
โ โโโ run_tests.sh
โ โโโ test_framework_validation.py
โ
โโโ deployment/ # Deployment files
โ โโโ docker-compose.yml
โ โโโ Dockerfile
โ โโโ init-db.sql
โ
โโโ archive/ # Development artifacts
โโโ old requirements files
โโโ development reportsRunning Tests
python test_server.pyBuilding the Package
pip install build
python -m buildContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details.
Troubleshooting
Common Setup Issues
"ModuleNotFoundError: No module named 'src'"
Ensure you've installed the package in development mode:
pip install -e .Verify you're using the virtual environment's Python:
/path/to/venv/bin/python
"spawn python ENOENT"
Use the full path to Python executable in Claude Desktop config
Don't use just
python- use/path/to/your/mcp-pa/venv/bin/python
"Server disconnected" errors
Check that all dependencies are installed:
pip install -r requirements.txtVerify the
cwdpath points to your project directoryCheck Claude Desktop logs for specific error messages
"Unknown resource" errors
This usually indicates a configuration issue
Restart Claude Desktop after making config changes
Ensure the server is properly installed with
pip install -e .
Log Files
Check these log files for debugging:
macOS:
~/Library/Logs/Claude/mcp-server-personal-assistant.logLinux:
~/.config/Claude/logs/mcp-server-personal-assistant.logWindows:
%APPDATA%\Claude\logs\mcp-server-personal-assistant.log
Testing the Server Directly
You can test the server functionality outside of Claude Desktop:
# Activate virtual environment
source venv/bin/activate
# Test basic imports
python -c "import src.server; print('Server imports successfully')"
# Test database connection
python -c "from src.database_factory import get_database; db = get_database(); print('Database connected')"Other Common Issues
Database Connection Errors
Ensure the database directory exists
Check file permissions
Verify encryption key if using encryption
Document Upload Failures
Check file size limits
Ensure documents directory is writable
Verify base64 encoding is correct
Configuration Problems
Check environment variables
Verify the configuration file syntax
Ensure all required directories exist
Future Enhancements
File preview generation
Full-text search across documents
Automatic backup system
OAuth integration for cloud storage
Web interface for direct access
Plugin system for extensibility
Real-time notifications
Database migration tools
Support
For issues and feature requests, please create an issue in the GitHub repository.
Available Tools
17 toolsadd_project_taskC
Add a task to a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| title | Yes | ||
| description | No | ||
| status | No | ||
| priority | No | ||
| due_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only says 'Add a task', implying creation, but fails to disclose any behavioral traits such as permissions required, side effects, or whether the operation is reversible.
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 a single sentence, which is efficient but overly truncated. It omits necessary context that could be added without sacrificing brevity, balancing clarity and conciseness at a minimal level.
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?
Given the tool has 6 parameters (2 enums), no annotations, and no output schema, the description is severely lacking. It does not clarify return values, error conditions, or behavioral nuances, leaving the agent underinformed.
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 input schema has 6 parameters with 0% description coverage, and the description adds no meaning to any parameter. Parameters like 'project_id', 'title', 'description', etc., are left entirely without explanation, failing to compensate for the schema's lack of 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 'Add a task to a project' uses a specific verb ('Add') and resource ('task') with clear context ('to a project'), distinguishing it from siblings like 'create_todo' which likely operates on standalone tasks.
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 alternatives, nor does it mention conditions or exclusions. It simply states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_todoC
Mark a todo as completed
| Name | Required | Description | Default |
|---|---|---|---|
| todo_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a state change but does not disclose if the operation is reversible, what side effects occur, or if any validation happens.
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?
Single sentence is concise but lacks necessary detail. It is appropriately minimal for a simple action but could include important context without verbosity.
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?
Given no output schema and no annotations, the description fails to explain return value, error states, or side effects, leaving the tool incomplete for practical use.
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 parameter todo_id has no schema description (0% coverage), and the description offers no extra meaning about its format, source, or constraints.
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 'Mark a todo as completed' clearly identifies the action (mark as completed) and resource (todo), distinguishing it from sibling tools like create_todo and list_todos.
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 on when to use this tool versus alternatives or prerequisites. For example, does it require the todo to exist? No context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_calendar_eventC
Create a calendar event
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| description | No | ||
| start_time | Yes | ||
| end_time | Yes | ||
| location | No | ||
| attendees | No | ||
| reminder_minutes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention side effects like notifications, time zone handling, duplicate checks, or event access levels.
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 single-sentence description is concise but insufficient for a tool with 7 parameters and no schema descriptions. It sacrifices helpfulness for brevity.
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?
Missing output schema and annotations, the description does not cover return values, error conditions, or parameter usage in context, leaving the agent underinformed.
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 description adds no meaning beyond the schema's parameter names. With 0% schema description coverage, it fails to explain formats, constraints (e.g., time format, attendee email format), or relationships between parameters.
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 explicitly states the action 'create' and the resource 'calendar event', clearly distinguishing it from sibling tools like 'list_calendar_events'.
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 provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. There is no mention of calendar sharing, permissions, or integration with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_external_documentB
Create a reference to an external document (e.g., cloud storage link)
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| external_url | Yes | ||
| description | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks annotations and fails to disclose behavioral traits like side effects, permissions, or validation of external_url; minimal disclosure beyond the core action.
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?
One sentence, front-loaded with verb and resource; concise but slightly under-specified.
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?
No output schema and no mention of return value, success/error behavior, or additional context like idempotency; incomplete for a creation tool.
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?
With 0% schema description coverage, the description must compensate but only gives a generic example; no explanation of each parameter's meaning or constraints.
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 verb 'Create' and the resource 'reference to an external document' with an example, distinguishing it from siblings like upload_document.
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 explicit guidance on when to use vs alternatives; usage is implied but not clarified with exclusions or when-not scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectC
Create a new project
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| status | No | ||
| priority | No | ||
| start_date | No | ||
| end_date | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It only states 'create' implying mutation, but does not disclose side effects, required permissions, or whether it overwrites existing data. Lacks important behavioral context.
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 short but under-specified. It is front-loaded, but the brevity results in missing critical information. Not every sentence earns its place because the single sentence is insufficient.
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?
Given 7 parameters, no output schema, and no annotations, the description is highly incomplete. It does not cover return values, error conditions, or parameter relationships. The tool complexity demands richer documentation.
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 0% and the description does not mention any parameters. With 7 parameters (including enums and dates), the description adds no value beyond the schema structure. Fails to explain what each parameter does.
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 'Create a new project' clearly states the action and resource. It distinguishes from sibling tools like create_todo or create_calendar_event by specifying 'project'. However, it does not elaborate on scope or constraints.
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 on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or exclusions. The description lacks any context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_todoC
Create a new todo/reminder
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| description | No | ||
| due_date | No | ||
| reminder_date | No | ||
| priority | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It says 'Create', indicating a write operation, but does not disclose what the tool returns, error handling, or side effects. Minimal transparency for a mutation tool.
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?
Single sentence, no fluff, but too minimal. It earns its place but lacks needed detail. Appropriate length for a simple tool, but could be expanded without losing conciseness.
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?
With 6 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain return values, parameter constraints, or behavioral context, making it insufficient for reliable agent invocation.
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 0%, yet the description adds no information about parameters. It merely repeats the resource name, leaving the agent to infer parameter meanings from property names alone (e.g., 'due_date', 'priority').
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 'Create a new todo/reminder', specifying the verb+resource. It implicitly distinguishes from siblings like 'create_calendar_event' by using 'todo', but does not explicitly contrast with similar tools such as 'add_project_task'.
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 on when to use this tool versus alternatives like 'add_project_task' or 'create_calendar_event'. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboardA
Get a dashboard view of active projects, upcoming todos, and events
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavior; it implies a read operation but lacks explicit details on safety, permissions, or side effects.
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 clear sentence, efficient and front-loaded, though slightly more structure could improve completeness.
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?
Given no output schema, the description should explain the return format or content; it only mentions an aggregate view without detailing what fields are included.
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?
There are zero parameters, so schema coverage is 100% trivially; the description adds no parameter info, but baseline for 0 params is 4.
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 tool retrieves a dashboard view combining active projects, upcoming todos, and events, distinguishing it from sibling list tools that return individual data sets.
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 use for a high-level overview but does not explicitly contrast with siblings or specify when not to use it, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentC
Get details of a specific document
| Name | Required | Description | Default |
|---|---|---|---|
| document_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavior. It only states 'get details' without mentioning what fields are returned, authentication needs, rate limits, or any side effects. Minimal transparency.
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 sentence that efficiently conveys the core purpose. No wasted words. 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?
Despite low complexity (1 required param, no output schema, no annotations), the description fails to cover essential context: what 'details' means, example output, error conditions, or required permissions. The description is too sparse to be fully actionable.
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 input schema has 1 parameter ('document_id'), and schema description coverage is 0%. The description adds no meaning to this parameterโno format, source, or constraints beyond the schema's type 'string'. It provides zero additional value.
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 'Get details' on the resource 'a specific document', which distinguishes it from sibling tools like 'list_documents' (list multiple) and 'upload_document' (create). It is specific and unambiguous.
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 on when to use this tool versus alternatives like 'list_documents' or 'get_dashboard'. No prerequisites or context are provided, leaving the agent unclear about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectB
Get details of a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
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, but it only says 'Get details' without specifying what details are returned, any error conditions, permissions needed, or that it's a read-only operation.
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 a single concise sentence with no wasted words. However, it may be overly brief given the lack of additional context.
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 'get by ID' tool with one parameter and no output schema or nested objects, the description is minimally adequate but lacks completeness regarding return values or how to correctly use the project_id.
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 coverage is 0% (no description for project_id), and the tool description does not clarify what project_id is, its format, or how to obtain it. The description adds no meaning beyond the schema.
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 'Get details of a specific project' clearly specifies the action (get details) and resource (project), and it implicitly distinguishes from sibling tools like list_projects (which lists all) and create_project/update_project (which modify).
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 indication of when to use this tool versus alternatives (e.g., list_projects for browsing, get_dashboard for summary). The description does not provide any contextual guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusA
Get your current status including location, laptop details, and permissions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It clearly states the operation is a read ('Get') and lists the returned fields (location, laptop details, permissions), which is sufficient for a simple, non-destructive tool with no parameters.
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 a single, efficient sentence that front-loads the action and avoids any extraneous words. Every word serves a purpose.
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?
Given the tool has no parameters or output schema, the description adequately defines its purpose and output fields. However, it could mention that the status is for the authenticated user, though this is implied by 'your'.
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?
With zero parameters, schema coverage is trivially 100%. The description adds no parameter info because none exist, but baseline is 4 per guidelines. No additional insight is needed.
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 uses a specific verb 'Get' and clearly states the resource 'your current status' including what it covers (location, laptop details, permissions). This distinguishes it from sibling like 'update_status' which is write-focused.
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 usage for retrieving status but provides no explicit guidance on when to use versus alternatives like 'update_status' or other read tools. The absence of exclusions or context limits the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calendar_eventsB
List calendar events within a date range
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | No | ||
| end_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden but only states basic purpose. No disclosure of authentication needs, rate limits, or whether recurring events are included.
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?
Single sentence with no fluff. Verb leads the description, making it immediately actionable.
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?
Missing output schema and annotations; description does not clarify return format, pagination, ordering, or event interpretation (e.g., recurring, all-day). Insufficient for a list tool with two parameters.
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 has 0% description coverage, and the tool description adds no parameter meaning beyond field names. Lacks format details, timezone handling, or constraints for start_date and end_date.
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?
Description clearly states verb 'List', resource 'calendar events', and scope 'within a date range'. It directly specifies the action and distinguishes from sibling tools like create_calendar_event.
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 on when to use this tool vs alternatives. Does not mention conditions, exclusions, or related tools like create_calendar_event for creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsC
List all documents, optionally filtered by tags
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description implies read-only but omits details like pagination, rate limits, or return format. Minimal transparency beyond basic operation.
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?
Single sentence of 8 words is extremely concise and front-loaded with the action and resource. No wasted words.
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?
No output schema, no annotations, and description fails to mention return format, pagination, or default behavior. For a list tool, these missing details reduce completeness.
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 'tags' parameter is described as an optional filter, adding meaning beyond the schema type. However, it lacks specifics on filtering logic (e.g., AND/OR, case sensitivity).
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?
Description clearly states 'List all documents' with an optional filter, distinguishing it from siblings like 'get_document' and 'upload_document'. Could be more precise about scope (e.g., user's documents) but is effective.
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 explicit guidance on when to use this tool vs alternatives like 'get_document' or 'list_projects'. The filtering option is mentioned but no context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List all projects or filter by status
| Name | Required | Description | Default |
|---|---|---|---|
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to mention critical behavioral traits like whether it returns summarized or detailed information, pagination, or permission requirements.
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 a single, efficient sentence, but it could be slightly expanded to improve clarity without becoming verbose.
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?
Given no output schema and no annotations, the description is too sparseโit does not explain what fields are returned, pagination behavior, or ordering, leaving significant gaps for an agent.
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 'status' parameter is enums with self-explanatory values, so the description adds minimal extra meaning beyond the schema; it does not explain if multiple statuses can be combined.
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 verb 'List' and the resource 'projects', and mentions a specific filter ('by status'), effectively distinguishing it from siblings like 'get_project' or 'create_project'.
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 indicates when to use the status filter but does not explicitly contrast with alternatives such as 'get_project' for a single project or 'list_todos' for tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_todosB
List todos, optionally filtered by completion status
| Name | Required | Description | Default |
|---|---|---|---|
| completed | No |
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 transparency. It indicates a read operation but fails to disclose behavioral details such as pagination, sorting, response structure, or any side effects. The description is too minimal to provide adequate behavioral context.
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 a single, front-loaded sentence that conveys the core purpose without any wasted words. Every element (verb, resource, filter) 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?
Given the lack of output schema and annotations, the description should provide more context about the return value, possible errors, or default behavior. It only states the basic functionality, leaving many important details unspecified.
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 input schema has 0% description coverage, so the description must add meaning. It explains that the 'completed' parameter filters by completion status, which goes beyond the raw schema (which only specifies boolean type). This adds significant semantic value for the single parameter.
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 verb 'list' and the resource 'todos', and specifies an optional filter by completion status. It distinguishes itself from sibling tools like list_projects or list_calendar_events by focusing on todos, and from create_todo/complete_todo by being a read operation.
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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It only notes the optional filter but lacks context about when filtering is appropriate or when to use other sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectC
Update a project's information
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| name | No | ||
| description | No | ||
| status | No | ||
| priority | No | ||
| progress | No | ||
| notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only states 'Update' implying mutation, but does not disclose side effects, permission requirements, reversibility, or any behavioral traits beyond the basic action.
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 a single sentence with no waste, but it is under-specified and fails to provide useful information. Conciseness is not valuable when it sacrifices clarity and completeness.
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?
Given 7 parameters, no output schema, and no annotations, the description is completely inadequate. It does not explain required fields, optional updates, constraints, or response behavior.
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 0%, and the description adds no meaning to any parameter. 'Project's information' is too generic to help an agent understand the parameters like project_id, name, status, etc.
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 'Update a project's information' vaguely states the action and resource but lacks specificity about what fields or aspects can be updated. It does not differentiate from sibling tools like add_project_task or update_status.
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 on when to use this tool versus alternatives like create_project or update_status. There is no mention of prerequisites or context for using this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_statusD
Update your status information
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| city | No | ||
| state | No | ||
| country | No | ||
| laptop_os | No | ||
| laptop_model | No | ||
| notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description bears full responsibility for disclosing behavior. It only states 'Update your status information' without mentioning whether the operation is destructive, if partial updates are possible, what authorization is needed, or any side effects. This is severely insufficient.
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 a single short sentence, which is concise, but it sacrifices essential information. It under-specifies the tool's functionality and provides no structure or elaboration, making it less useful despite its brevity.
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?
Given 7 parameters, no output schema, and no annotations, the description is far too sparse. It fails to cover the tool's purpose, parameter usage, expected output, or operational context, leaving the agent unable to use it effectively.
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 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description adds no meaning to any parameter. The agent cannot infer what 'name', 'city', 'notes', etc., represent in this context.
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 the tool updates status information, which aligns with the name. However, it is vague on what 'status information' entails; the schema reveals fields like personal details and laptop specs, which could be better described as profile information. Sibling tools include 'get_status' and 'update_project', but no differentiation is provided.
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 use this tool versus alternatives like 'update_project' or 'get_status'. There is no mention of prerequisites, context, or exclusions. The agent gets no help in selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_documentC
Upload a document to the personal assistant
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| content_base64 | Yes | Base64 encoded file content | |
| description | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden for behavioral disclosure. It only states the action without mentioning side effects, authentication needs, or outcomes like file overwriting.
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 a single concise sentence, but it lacks structure and fails to provide any additional context. It is minimally acceptable.
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?
Given the lack of output schema and annotations, the description is incomplete. It omits file size limits, supported formats, success/error behavior, and any post-upload actions.
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 coverage is 25% (only content_base64 has a description). The description does not explain the purpose of title, description, or tags, leaving the agent to guess their roles.
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 'Upload a document to the personal assistant', specifying the verb and resource. However, it does not differentiate from sibling tools like create_external_document, which suggests a similar action.
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 usage guidance is provided. The description does not indicate when to use this tool versus alternatives, nor does it mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct resource and action. For example, project tools (create, get, update, list) are clearly separated from todo tools (create, complete, list) and calendar tools (create, list). There is no overlap.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_project, list_todos, upload_document). The verbs are imperative and the nouns match resource types, making it predictable.
With 17 tools covering projects, todos, calendar, documents, status, and a dashboard, the count is well-scoped for a personal assistant. No tool feels redundant or missing.
The set covers most create, read, and list operations but lacks delete tools for projects, todos, events, and documents. Additionally, todos only have a 'complete' action, not a general update. These gaps could hinder some workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Shared project memory for teams: read projects and tasks, write updates and wiki decisions.
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
ADHD-friendly tasks, notes & projects for LucidNest - 18 tools, scoped tokens, Streamable HTTP.
AI-native project management for tasks, docs, collaboration, and agents.
Related MCP Servers
- FlicenseCqualityNot gradedmaintenanceA modular productivity automation server providing reusable prompt templates, composable skills, and multi-step workflows for tasks like daily planning, code review, document summarization, and project management.191
- AlicenseNot gradedqualityDmaintenanceAn MCP server for intelligent project planning and task management featuring task tracking, bug reporting, and feature specification with SQLite persistence. It includes full-text search capabilities and automatic filesystem synchronization to keep project data organized and accessible.MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready Model Context Protocol server for managing tasks and todos with support for both file-based and database storage backends. It enables users to perform bulk operations, track priorities, and access productivity analytics through a structured management system.MIT
- FlicenseNot gradedqualityCmaintenanceA privacy-first, local-first MCP server that provides 15 ADHD/second-brain tools for capturing, prioritizing, and resurfacing tasks with context from calendar, mail, and messages.1
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/swapnilsurdi/mcp-pa'
If you have feedback or need assistance with the MCP directory API, please join our Discord server