MCP Resources

Resources provide URI-based access to vCon data through the Model Context Protocol. They offer a simpler alternative to tools for common data access patterns.

Overview

Resources use a versioned URI scheme (vcon://v1/vcons/...) to access vCon data:

  • Browsing - List recent conversations

  • Lookup - Fetch specific vCons by UUID

  • Discovery - Get lightweight ID lists for navigation

  • Subresources - Access specific vCon components (parties, dialog, analysis, attachments)

  • Derived - Get filtered data (transcripts, summaries, tags)

For complex operations like filtering, searching, and modifications, use MCP Tools instead.


Resource Namespace

All resources use the versioned namespace:

vcon://v1/vcons/...

This allows for future schema evolution without breaking existing clients.


Collection Resources

vcon://v1/vcons/recent

Get the most recently created vCons with full data.

URI Patterns:

  • vcon://v1/vcons/recent - Get 10 most recent vCons (default)

  • vcon://v1/vcons/recent/25 - Get custom number (max 100)

Response:

Use Cases:

  • Dashboard views

  • Recent activity monitoring

  • Quick access to latest conversations


vcon://v1/vcons/recent/ids

Get lightweight list of recent vCon IDs for efficient browsing.

URI Patterns:

  • vcon://v1/vcons/recent/ids - Get 10 most recent IDs (default)

  • vcon://v1/vcons/recent/ids/25 - Get custom number (max 100)

Response:

Use Cases:

  • Navigation menus

  • Autocomplete suggestions

  • Performance-sensitive displays


vcon://v1/vcons/ids

Browse all vCon IDs with cursor-based pagination.

URI Patterns:

  • vcon://v1/vcons/ids - Get first 100 IDs (default)

  • vcon://v1/vcons/ids/500 - Get custom number (max 1000)

  • vcon://v1/vcons/ids/100/after/{timestamp} - Get next page

Response:

Pagination Example:

Use Cases:

  • Full database exports

  • Bulk operations

  • Data migration


Entity Resources

vcon://v1/vcons/{uuid}

Retrieve a complete vCon object by UUID.

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000

Response:

Use Cases:

  • Display full conversation details

  • Export single conversation

  • Reference lookup


vcon://v1/vcons/{uuid}/metadata

Get only metadata fields, excluding conversation content arrays.

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/metadata

Response:

Excluded Fields:

  • parties

  • dialog

  • analysis

  • attachments

Use Cases:

  • Quick metadata checks

  • Performance-sensitive queries

  • Metadata-only displays


Subresources

These resources provide direct access to specific components of a vCon.

vcon://v1/vcons/{uuid}/parties

Get only the parties array from a vCon.

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/parties

Response:

Use Cases:

  • Display participant lists

  • Contact information extraction

  • Party-specific queries


vcon://v1/vcons/{uuid}/dialog

Get only the dialog array from a vCon.

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/dialog

Response:

Use Cases:

  • Display conversation history

  • Timeline views

  • Dialog-specific processing


vcon://v1/vcons/{uuid}/analysis

Get only the analysis array from a vCon.

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/analysis

Response:

Use Cases:

  • Display AI analysis results

  • Analytics dashboards

  • Insights extraction


vcon://v1/vcons/{uuid}/attachments

Get only the attachments array from a vCon.

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/attachments

Response:

Use Cases:

  • Display attached files

  • Download documents

  • Metadata extraction


Derived Resources

These resources filter and transform vCon data for specific use cases.

vcon://v1/vcons/{uuid}/transcript

Get transcript analysis from a vCon (filters analysis where type='transcript').

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/transcript

Response:

Use Cases:

  • Display transcriptions

  • Text analysis

  • Speech-to-text results


vcon://v1/vcons/{uuid}/summary

Get summary analysis from a vCon (filters analysis where type='summary').

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/summary

Response:

Use Cases:

  • Display conversation summaries

  • Quick overview

  • Report generation


vcon://v1/vcons/{uuid}/tags

Get tags from a vCon (filters attachments where type='tags' and parses as object).

URI Pattern:

  • vcon://v1/vcons/123e4567-e89b-12d3-a456-426614174000/tags

Response:

Note: If no tags exist, returns {"tags": {}}

Use Cases:

  • Display metadata tags

  • Filter by categories

  • Custom organization


Resources vs. Tools

Use Resources When:

Browsing - Viewing recent or all vCons ✅ Lookup - Fetching specific vCon by UUID ✅ Simple - No filtering or complex queries ✅ Read-only - Just retrieving data ✅ Subcomponents - Accessing specific vCon arrays

Use Tools When:

🔧 Searching - Filtering by tags, dates, content 🔧 Modifying - Creating, updating, deleting 🔧 Complex - Multi-criteria queries 🔧 Operations - Adding dialog, analysis, attachments


Usage Examples

Claude Desktop

Resources are automatically available in Claude Desktop when the MCP server is configured:

Custom MCP Client

cURL (via MCP HTTP Bridge)


Performance Characteristics

Resource Efficiency

Resource
Typical Response Time
Network Size
Database Queries

vcon://v1/vcons/recent/ids

~50ms

~5KB

1

vcon://v1/vcons/recent

~200ms

~50KB

1-3

vcon://v1/vcons/{uuid}

~100ms

~20KB

1-2

vcon://v1/vcons/{uuid}/metadata

~50ms

~2KB

1

vcon://v1/vcons/{uuid}/parties

~75ms

~3KB

1

vcon://v1/vcons/{uuid}/transcript

~100ms

~10KB

1

vcon://v1/vcons/ids/1000

~500ms

~100KB

1

Optimization Tips

  1. Use IDs resources for navigation and lists

  2. Use metadata when you don't need conversation content

  3. Use subresources to fetch only what you need

  4. Use derived resources for filtered data

  5. Paginate large lists with cursor-based pagination

  6. Cache frequently accessed vCons client-side

  7. Batch requests when possible


Error Handling

Resources return errors in standard MCP format:

Common Error Codes:

  • RESOURCE_NOT_FOUND - Invalid URI or UUID doesn't exist

  • INVALID_URI - Malformed URI pattern

  • DATABASE_ERROR - Database connection or query failed

  • PERMISSION_DENIED - Insufficient permissions

Error Handling Example:


Limitations

Not Supported via Resources:

Filtering - Use search_vcons or search_by_tags tools ❌ Sorting - Use tools with custom ordering ❌ Tag filtering - Use search_by_tags tool ❌ Content search - Use search_vcons_content tool ❌ Semantic search - Use search_vcons_semantic tool ❌ Modifications - Use CRUD tools ❌ Complex queries - Use appropriate search tools


Migration Guide

Breaking Changes in v1

All resource URIs have changed from vcon:// to vcon://v1/vcons/:

Old Namespace:

New Namespace:

Migration Steps

  1. Update all resource URIs in your code to use vcon://v1/vcons/ prefix

  2. Replace vcon://list/ids with vcon://v1/vcons/ids

  3. Replace vcon://uuid/ with vcon://v1/vcons/

  4. Use new subresources instead of accessing nested fields

  5. Use derived resources for common filtered queries

Example Migration


Next Steps

Last updated