Skip to content

Latest commit

 

History

History
559 lines (459 loc) · 14.8 KB

File metadata and controls

559 lines (459 loc) · 14.8 KB

Tag Standardization Guide

A comprehensive guide to creating and maintaining a consistent, professional tag system for optimal knowledge organization in the MCP Memory Service.

🎯 Overview

Effective tag standardization is the foundation of a powerful knowledge management system. This guide establishes proven tag schemas, naming conventions, and organizational patterns that transform chaotic information into searchable, structured knowledge.

📋 Core Principles

1. Consistency

  • Use standardized naming conventions
  • Apply tags systematically across similar content
  • Maintain format consistency (lowercase, hyphens, etc.)

2. Hierarchy

  • Organize tags from general to specific
  • Use multiple category levels for comprehensive organization
  • Create logical groupings that reflect actual usage patterns

3. Utility

  • Tags should enhance discoverability
  • Focus on how information will be retrieved
  • Balance detail with practical searchability

4. Evolution

  • Tag schemas should adapt to changing needs
  • Regular review and refinement process
  • Documentation of changes and rationale

🏷️ Standardized Tag Schema

Category 1: Projects & Repositories

Primary Projects:

mcp-memory-service     # Core memory service development
memory-dashboard       # Dashboard application
github-integration     # GitHub connectivity and automation
mcp-protocol          # Protocol-level development
cloudflare-workers     # Edge computing integration

Project Components:

frontend               # User interface components
backend               # Server-side development
api                   # API design and implementation
database              # Data storage and management
infrastructure        # Deployment and DevOps

Usage Example:

{
  "tags": ["mcp-memory-service", "backend", "database", "sqlite-vec"]
}

Category 2: Technologies & Tools

Programming Languages:

python                # Python development
typescript            # TypeScript development
javascript            # JavaScript development
bash                  # Shell scripting
sql                   # Database queries

Frameworks & Libraries:

react                 # React development
fastapi               # FastAPI framework
sqlite-vec            # SQLite-vec vector database (default)
cloudflare            # Cloudflare D1 + Vectorize (cloud/edge)
sentence-transformers # Embedding models
pytest                # Testing framework

Tools & Platforms:

git                   # Version control
docker                # Containerization
github                # Repository management
aws                   # Amazon Web Services
npm                   # Node package management

Usage Example:

{
  "tags": ["python", "sqlite-vec", "sentence-transformers", "pytest"]
}

Category 3: Activities & Processes

Development Activities:

development           # General development work
implementation        # Feature implementation
debugging             # Bug investigation and fixing
testing               # Quality assurance activities
refactoring           # Code improvement
optimization          # Performance enhancement

Documentation Activities:

documentation         # Writing documentation
tutorial              # Creating tutorials
guide                 # Step-by-step guides
reference             # Reference materials
examples              # Code examples

Operational Activities:

deployment            # Application deployment
monitoring            # System monitoring
backup                # Data backup processes
migration             # Data or system migration
maintenance           # System maintenance
troubleshooting       # Problem resolution

Usage Example:

{
  "tags": ["debugging", "troubleshooting", "testing", "verification"]
}

Category 4: Content Types & Formats

Knowledge Types:

concept               # Conceptual information
architecture          # System architecture
design                # Design decisions and patterns
best-practices        # Proven methodologies
methodology           # Systematic approaches
workflow              # Process workflows

Documentation Formats:

tutorial              # Step-by-step instructions
reference             # Quick reference materials
example               # Code or process examples
template              # Reusable templates
checklist             # Verification checklists
summary               # Condensed information

Technical Content:

configuration         # System configuration
specification         # Technical specifications
analysis              # Technical analysis
research              # Research findings
review                # Code or process reviews

Usage Example:

{
  "tags": ["architecture", "design", "best-practices", "reference"]
}

Category 5: Status & Progress

Development Status:

resolved              # Completed and verified
in-progress           # Currently being worked on
blocked               # Waiting for external dependencies
needs-investigation   # Requires further analysis
planned               # Scheduled for future work
cancelled             # No longer being pursued

Quality Status:

verified              # Tested and confirmed working
tested                # Has undergone testing
reviewed              # Has been peer reviewed
approved              # Officially approved
experimental          # Proof of concept stage
deprecated            # No longer recommended

Priority Levels:

urgent                # Immediate attention required
high-priority         # Important, should be addressed soon
normal-priority       # Standard priority
low-priority          # Can be addressed when time allows
nice-to-have          # Enhancement, not critical

Usage Example:

{
  "tags": ["resolved", "verified", "high-priority", "production-ready"]
}

Category 6: Context & Temporal

Temporal Markers:

january-2025          # Specific month context
q1-2025               # Quarterly context
milestone-v1          # Version milestones
release-candidate     # Release stages
sprint-3              # Development sprints

Environmental Context:

development           # Development environment
staging               # Staging environment
production            # Production environment
testing               # Testing environment
local                 # Local development

Scope & Impact:

breaking-change       # Introduces breaking changes
feature               # New feature development
enhancement           # Improvement to existing feature
hotfix                # Critical fix
security              # Security-related
performance           # Performance-related

Usage Example:

{
  "tags": ["june-2025", "production", "security", "hotfix", "critical"]
}

🎨 Tag Naming Conventions

Format Standards

Basic Rules:

  • Use lowercase letters
  • Replace spaces with hyphens: memory-service not memory service
  • Use descriptive but concise terms
  • Avoid abbreviations unless widely understood
  • Use singular form when possible: bug not bugs

Multi-word Tags:

✅ Good: memory-service, github-integration, best-practices
❌ Bad: memoryservice, GitHub_Integration, bestPractices

Version and Date Tags:

✅ Good: v1-2-0, january-2025, q1-2025
❌ Bad: v1.2.0, Jan2025, Q1/2025

Status and State Tags:

✅ Good: in-progress, needs-investigation, high-priority
❌ Bad: inProgress, needsInvestigation, highPriority

Hierarchical Naming

Use progressive specificity:

General → Specific
project → mcp-memory-service → backend → database
testing → integration-testing → api-testing
issue → bug → critical-bug → data-corruption

Example Progression:

// General testing memory
{"tags": ["testing", "verification"]}

// Specific test type
{"tags": ["testing", "unit-testing", "python", "pytest"]}

// Very specific test
{"tags": ["testing", "unit-testing", "memory-storage", "sqlite-vec", "pytest"]}

📊 Tag Application Patterns

Multi-Category Tagging

Recommended Pattern: Apply tags from 3-6 categories for comprehensive organization:

{
  "tags": [
    // Project/Repository (1-2 tags)
    "mcp-memory-service", "backend",
    
    // Technology (1-3 tags)
    "python", "sqlite-vec",
    
    // Activity (1-2 tags)
    "debugging", "troubleshooting",
    
    // Content Type (1 tag)
    "troubleshooting-guide",
    
    // Status (1 tag)
    "resolved",
    
    // Context (0-2 tags)
    "june-2025", "production"
  ]
}

Content-Specific Patterns

Bug Reports and Issues:

{
  "tags": [
    "issue-7",                    // Specific issue reference
    "timestamp-corruption",       // Problem description
    "critical-bug",              // Severity
    "mcp-memory-service",        // Project
    "sqlite-vec",                // Technology
    "resolved"                   // Status
  ]
}

Documentation:

{
  "tags": [
    "documentation",             // Content type
    "memory-maintenance",        // Topic
    "best-practices",           // Knowledge type
    "tutorial",                 // Format
    "mcp-memory-service",       // Project
    "reference"                 // Usage type
  ]
}

Development Milestones:

{
  "tags": [
    "milestone",                // Event type
    "v1-2-0",                  // Version
    "production-ready",        // Status
    "mcp-memory-service",      // Project
    "feature-complete",        // Achievement
    "june-2025"               // Timeline
  ]
}

Research and Concepts:

{
  "tags": [
    "concept",                 // Content type
    "memory-consolidation",    // Topic
    "architecture",           // Category
    "research",               // Activity
    "cognitive-processing",   // Domain
    "system-design"           // Application
  ]
}

🔍 Tag Selection Guidelines

Step-by-Step Tag Selection

1. Start with Primary Context

  • What project or domain does this relate to?
  • What's the main subject matter?

2. Add Technical Details

  • What technologies are involved?
  • What tools or platforms?

3. Describe the Activity

  • What was being done?
  • What type of work or process?

4. Classify the Content

  • What kind of information is this?
  • How will it be used in the future?

5. Add Status Information

  • What's the current state?
  • What's the priority or urgency?

6. Include Temporal Context

  • When is this relevant?
  • What timeline or milestone?

Tag Selection Examples

Example 1: Debug Session Memory

Content: "Fixed issue with Cloudflare D1 connection timeout in production"

Analysis:

  • Primary Context: MCP Memory Service, backend
  • Technical: Cloudflare, connection issues, production
  • Activity: Debugging, troubleshooting, problem resolution
  • Content: Troubleshooting solution, fix documentation
  • Status: Resolved, production issue
  • Temporal: Current work, immediate fix

Selected Tags:

{
  "tags": [
    "mcp-memory-service", "backend",
    "cloudflare", "connection-timeout", "production",
    "debugging", "troubleshooting",
    "solution", "hotfix",
    "resolved", "critical"
  ]
}

Example 2: Planning Document

Content: "Q2 2025 roadmap for memory service improvements"

Analysis:

  • Primary Context: MCP Memory Service, planning
  • Technical: General service improvements
  • Activity: Planning, roadmap development
  • Content: Strategic document, planning guide
  • Status: Planning phase, future work
  • Temporal: Q2 2025, quarterly planning

Selected Tags:

{
  "tags": [
    "mcp-memory-service", "planning",
    "roadmap", "improvements",
    "strategy", "planning-document",
    "q2-2025", "quarterly",
    "future-work", "enhancement"
  ]
}

🛠️ Tag Management Tools

Quality Control Queries

Find inconsistent tagging:

// Look for similar content with different tag patterns
retrieve_memory({"query": "debugging troubleshooting", "n_results": 10})
search_by_tag({"tags": ["debug"]})  // vs search_by_tag({"tags": ["debugging"]})

Identify tag standardization opportunities:

// Find memories that might need additional tags
retrieve_memory({"query": "issue bug problem", "n_results": 15})
search_by_tag({"tags": ["test"]})  // Check if generic tags need specificity

Tag Analysis Scripts

Tag frequency analysis:

// Analyze which tags are most/least used
check_database_health()  // Get overall statistics
search_by_tag({"tags": ["frequent-tag"]})  // Count instances

Pattern consistency check:

// Verify similar content has similar tagging
const patterns = [
  "mcp-memory-service",
  "debugging",
  "issue-",
  "resolved"
];
// Check each pattern for consistency

📈 Tag Schema Evolution

Regular Review Process

Monthly Review Questions:

  1. Are there new tag categories needed?
  2. Are existing tags being used consistently?
  3. Should any tags be merged or split?
  4. Are there emerging patterns that need standardization?

Quarterly Schema Updates:

  1. Analyze tag usage statistics
  2. Identify inconsistencies or gaps
  3. Propose schema improvements
  4. Document rationale for changes
  5. Implement updates systematically

Schema Version Control

Track changes with metadata:

store_memory({
  "content": "Tag Schema Update v2.1: Added security-related tags, consolidated testing categories...",
  "metadata": {
    "tags": ["tag-schema", "version-2-1", "schema-update", "documentation"],
    "type": "schema-documentation"
  }
})

🎯 Best Practices Summary

Do's

Be Consistent: Use the same tag patterns for similar content ✅ Use Multiple Categories: Apply tags from different categories for comprehensive organization ✅ Follow Naming Conventions: Stick to lowercase, hyphenated format ✅ Think About Retrieval: Tag based on how you'll search for information ✅ Document Decisions: Record rationale for tag choices ✅ Review Regularly: Update and improve tag schemas over time

Don'ts

Over-tag: Don't add too many tags; focus on the most relevant ❌ Under-tag: Don't use too few tags; aim for 4-8 well-chosen tags ❌ Use Inconsistent Formats: Avoid mixing naming conventions ❌ Create Redundant Tags: Don't duplicate information already in content ❌ Ignore Context: Don't forget temporal or project context ❌ Set and Forget: Don't create tags without ongoing maintenance


This standardization guide provides the foundation for creating a professional, searchable, and maintainable knowledge management system. Consistent application of these standards will dramatically improve the value and usability of your MCP Memory Service.