myrmidon / python /src /mcp_server /mcp_instructions.md
tek Atrust
chore(deploy): build monolithic server for Hugging Face
d5ef46f
|
Raw
History Blame Contribute Delete
5.28 kB

Archon MCP Server Instructions

🚨 CRITICAL RULES (ALWAYS FOLLOW)

  1. Task Management: ALWAYS use Archon MCP tools for task management.

    • Combine with your local TODO tools for granular tracking
  2. Research First: Before implementing, use rag_search_knowledge_base and rag_search_code_examples

  3. Task-Driven Development: Never code without checking current tasks first

🎯 Targeted Documentation Search

When searching specific documentation (very common!):

  1. Get available sources: rag_get_available_sources() - Returns list with id, title, url
  2. Find source ID: Match user's request to source title (e.g., "PydanticAI docs" -> find ID)
  3. Filter search: rag_search_knowledge_base(query="...", source_id="src_xxx", match_count=5)

Examples:

  • User: "Search the Supabase docs for vector functions"

    1. Call rag_get_available_sources()
    2. Find Supabase source ID from results (e.g., "src_abc123")
    3. Call rag_search_knowledge_base(query="vector functions", source_id="src_abc123")
  • User: "Find authentication examples in the MCP documentation"

    1. Call rag_get_available_sources()
    2. Find MCP docs source ID
    3. Call rag_search_code_examples(query="authentication", source_id="src_def456")

IMPORTANT: Always use source_id (not URLs or domain names) for filtering!

πŸ“‹ Core Workflow

Task Management Cycle

  1. Get current task: list_tasks(task_id="...")
  2. Search/List tasks: list_tasks(query="auth", filter_by="status", filter_value="todo")
  3. Mark as doing: manage_task("update", task_id="...", status="doing")
  4. Research phase:
    • rag_search_knowledge_base(query="...", match_count=5)
    • rag_search_code_examples(query="...", match_count=3)
  5. Implementation: Code based on research findings
  6. Mark for review: manage_task("update", task_id="...", status="review")
  7. Get next task: list_tasks(filter_by="status", filter_value="todo")

Consolidated Task Tools (Optimized ~2 tools from 5)

  • list_tasks(query=None, task_id=None, filter_by=None, filter_value=None, per_page=10)
    • list + search + get in one tool
    • Search with keyword query parameter (optional)
    • task_id parameter for getting single task (full details)
    • Filter by status, project, or assignee
    • Optimized: Returns truncated descriptions and array counts (lists only)
    • Default: 10 items per page (was 50)
  • manage_task(action, task_id=None, project_id=None, ...)
    • Consolidated: create + update + delete in one tool
    • action: "create" | "update" | "delete"
    • Examples:
      • manage_task("create", project_id="p-1", title="Fix auth")
      • manage_task("update", task_id="t-1", status="doing")
      • manage_task("delete", task_id="t-1")

πŸ—οΈ Project Management

Project Tools

  • list_projects(project_id=None, query=None, page=1, per_page=10)
    • List all projects, search by query, or get specific project by ID
  • manage_project(action, project_id=None, title=None, description=None, github_repo=None)
    • Actions: "create", "update", "delete"

Document Tools

  • list_documents(project_id, document_id=None, query=None, document_type=None, page=1, per_page=10)
    • List project documents, search, filter by type, or get specific document
  • manage_document(action, project_id, document_id=None, title=None, document_type=None, content=None, ...)
    • Actions: "create", "update", "delete"

πŸ” Research Patterns

CRITICAL: Keep Queries Short and Focused!

Vector search works best with 2-5 keywords, NOT long sentences or keyword dumps.

βœ… GOOD Queries (concise, focused):

  • rag_search_knowledge_base(query="vector search pgvector")
  • rag_search_code_examples(query="React useState")
  • rag_search_knowledge_base(query="authentication JWT")
  • rag_search_code_examples(query="FastAPI middleware")

❌ BAD Queries (too long, unfocused):

  • rag_search_knowledge_base(query="how to implement vector search with pgvector in PostgreSQL for semantic similarity matching with OpenAI embeddings")
  • rag_search_code_examples(query="React hooks useState useEffect useContext useReducer useMemo useCallback")

Query Construction Tips:

  • Extract 2-5 most important keywords from the user's request
  • Focus on technical terms and specific technologies
  • Omit filler words like "how to", "implement", "create", "example"
  • For multi-concept searches, do multiple focused queries instead of one broad query

πŸ“Š Task Status Flow

todo β†’ doing β†’ review β†’ done

  • Only ONE task in 'doing' status at a time
  • Use 'review' for completed work awaiting validation
  • Mark tasks 'done' only after verification

πŸ“ Task Granularity Guidelines

Project Scope Determines Task Granularity

For Feature-Specific Projects (project = single feature): Create granular implementation tasks:

  • "Set up development environment"
  • "Install required dependencies"
  • "Create database schema"
  • "Implement API endpoints"
  • "Add frontend components"
  • "Write unit tests"
  • "Add integration tests"
  • "Update documentation"

For Codebase-Wide Projects (project = entire application): Create feature-level tasks:

  • "Implement user authentication feature"
  • "Add payment processing system"
  • "Create admin dashboard"