MCP Server for IETF vCon - Open Source Core. Provides tools for managing, searching, and analyzing vCon (conversation) objects with Supabase backend integration.
The vCon MCP server demonstrates solid definition quality with comprehensive tool coverage (20 tools), good naming conventions, and generally complete schemas. Most tools follow verb_noun patterns (search_vcons, get_vcon, create_vcon, add_dialog, etc.). Parameter descriptions are present and mostly adequate. However, there are notable gaps: some output schemas are not documented in the tool definitions, error handling guidance is minimal, and descriptions could be more LLM-optimized. The server handles a complex domain (vCon conversation metadata) well, with appropriate parameter constraints (UUID regex patterns, enums for template types and query modes). The tag-related tools (manage_tag, search_by_tags, get_unique_tags) demonstrate good composition patterns. Overall, this is a B-grade implementation, good foundation but lacks the polish and depth of documentation expected for A-grade production tools.
Add analysis results to a vCon (sentiment, entity extraction, transcription, etc.). Analysis provides structured insights about conversations.
Add an attachment to a vCon. Attachments can be files, metadata, tags, or other supporting content.
Add a dialog (conversation turn) to a vCon. Dialogs represent individual messages or exchanges within a conversation.
Analyze a SQL query to understand its execution plan and performance characteristics. Useful for optimizing slow queries and understanding index usage.
Create a new vCon from a predefined template. Templates provide scaffolding for common conversation types (phone calls, emails, chats, etc.).
Create a new vCon object. Requires at least a UUID and creation timestamp. All other fields are optional.
Output schemas not documented in tool definitions. While input schemas are comprehensive, there are no explicit specifications for what search_vcons, get_vcon, and other read tools return. LLMs cannot plan downstream actions without knowing response structure.
Error handling and recovery guidance missing. Tools lack descriptions of failure modes, retryability, and suggested next steps. For example, search_vcons does not document what happens if no results match, or what to do if limit is exceeded.
Destructive operations (delete_vcon) lack confirmation/dry-run support. The delete_vcon tool has no safeguard or confirmation flow. An agent mistake or prompt injection could trigger irreversible data loss.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 72 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | 1.19.1 (SDK version)+ | v1 |
Delete a vCon and all its associated data (dialogs, analysis, attachments). This action is irreversible.
Get comprehensive database structure information including tables, indexes, sizes, and relationships. Useful for debugging, performance tuning, and understanding the database schema.
Get database size information and smart recommendations for query limits. Use this before running large queries to understand the database scale and get appropriate limits.
Get database performance and usage statistics including query performance, cache hit ratios, table access patterns, and index usage. Useful for performance monitoring and optimization.
Get example vCons (minimal, phone_call, chat, email, video, full_featured) as JSON or YAML.
Get vCon schema definition in the requested format (json_schema or typescript).
Get smart search limits based on database size and query complexity. Helps prevent memory exhaustion by suggesting appropriate limits for different query types.
Retrieve tags from a vCon. Provide a specific key to get one tag value, or omit key to get all tags as an object.
Get a list of all unique tag keys and their possible values across all vCons. Useful for discovering available tags, building tag selection UIs, and analytics.
Retrieve a complete vCon object by UUID. Returns the full vCon with all parties, dialogs, analysis, and attachments.
Add, update, or remove a single tag on a vCon. Tags are key-value pairs for categorization and filtering. Use action "set" to add/update a tag, or "remove" to delete it.
Remove all tags from a vCon.
Search for vCons that have specific tag values. All specified tags must match (AND logic). REQUIRED: You must provide the tags parameter as an object with at least one key-value pair.
Search for vCons by various criteria including subject, parties, date range, and other metadata. Returns matching vCon summaries.
Database tools (analyze_query, get_database_stats) accept SQL queries with minimal validation guidance. Query parameter descriptions lack constraints (e.g., 'SELECT queries only') and injection warnings. While the code may validate, the tool definition does not communicate safety constraints to the LLM.
Descriptions are functional but not optimized for LLM comprehension. Many descriptions (e.g., get_schema: 'Get vCon schema definition in the requested format') are under 100 characters and lack context about WHEN to use the tool or WHY. Baseline expects 194 chars average.
Limited parameter type diversity. Most parameters use string, number, boolean, or enum. While appropriate for this domain, there are no oneOf constraints for conditional parameters, and no explicit examples of mutually exclusive parameter groups documented.