Skip to content

MCP Compliance

Minions is designed to be compatible with the Model Connector Protocol (MCP), with ongoing work to achieve full compliance.

Current Implementation

Memory System

The memory system is designed with MCP compatibility in mind:

// Memory query with standard fields
MemoryQuery query = MemoryQuery.builder()
    .subsystems(MemorySubsystem.EPISODIC)
    .limit(10)
    .expression(Expr.eq("conversationId", "C1"))
    .build();

// Message with standard metadata
Message message = Message.builder()
    .content("content")
    .metadata("type", "user_message")
    .build();

Memory Subsystems

Memory subsystems follow a modular design that can be extended for MCP compliance:

public class EpisodicMemory implements Memory<MemoryContext, Message> {
    @Override
    public MemorySubsystem getMemorySubsystem() {
        return MemorySubsystem.EPISODIC;
    }
}

Planned MCP Compliance

  1. Memory Operations
  2. [ ] Implement MCP-compliant expression types
  3. [ ] Add MCP metadata handling
  4. [ ] Support MCP-specific query patterns

  5. Memory Subsystems

  6. [ ] Add MCP interface implementations
  7. [ ] Implement MCP metadata providers
  8. [ ] Support MCP-specific operations

  9. Memory Persistence

  10. [ ] Add MCP metadata storage
  11. [ ] Support MCP data formats
  12. [ ] Implement MCP query language support