KOI-MCP Integration

Integrations

  • Used as the web framework for implementing MCP-compatible REST endpoints, exposing agent personality traits and callable tools through standardized HTTP interfaces.

  • Referenced for hosting related components like rid-lib and koi-net dependencies.

  • Implements architecture diagrams in the documentation to visualize the Coordinator-Adapter pattern and component relationships.

Integración KOI-MCP

Un marco de conexión que integra la Infraestructura de Organización del Conocimiento (KOI) con el Protocolo de Contexto Modelo (MCP), permitiendo que los agentes autónomos intercambien rasgos de personalidad enriquecedores y expongan capacidades como herramientas estandarizadas.

Inicio rápido

Prerrequisitos

Instalación

# Clone the repository git clone https://github.com/block-science/koi-mcp.git cd koi-mcp # Create and activate virtual environment uv venv --python 3.12 source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install the package with development dependencies uv pip install -e ".[dev]"

Ejecución de la demostración

La forma más rápida de ver KOI-MCP en acción es ejecutar la demostración:

python scripts/demo.py

Esto proporciona una consola interactiva enriquecida con registro detallado de eventos y visualización del estado de los componentes.

Alternativamente, puede ejecutar una demostración simplificada utilizando el módulo principal:

# Run demo (starts coordinator and two example agents) python -m koi_mcp.main demo

Esto inicia un nodo coordinador y dos nodos agente con diferentes rasgos de personalidad. Luego, puedes visitar:

Ejecución de componentes individualmente

También puedes ejecutar los componentes por separado:

# Run coordinator node python -m koi_mcp.main coordinator # Run agent nodes python -m koi_mcp.main agent --config configs/agent1.json python -m koi_mcp.main agent --config configs/agent2.json

Arquitectura

La integración KOI-MCP sigue un patrón Coordinador-Adaptador :

  1. Nodo coordinador KOI : actúa como un centro central para la red KOI, manejando el descubrimiento de agentes y la sincronización de estados.
  2. Adaptador MCP : convierte los paquetes de personalidad KOI en recursos y herramientas compatibles con MCP
  3. Nodos de agente : agentes individuales con personalidades que transmiten sus rasgos a la red.
  4. Servidor de registro MCP : expone el registro del adaptador como puntos finales compatibles con MCP
  5. Servidores de agente MCP : servidores individuales para cada agente que exponen sus características específicas como puntos finales

Modelo de personalidad del agente

Los agentes expresan sus capacidades a través de un modelo de personalidad basado en rasgos:

# Example agent configuration { "agent": { "name": "helpful-agent", "version": "1.0", "traits": { "mood": "helpful", "style": "concise", "interests": ["ai", "knowledge-graphs"], "calculate": { "description": "Performs simple calculations", "is_callable": true } } } }

Cada rasgo puede ser:

  • Un valor simple (cadena, número, booleano, lista)
  • Un objeto complejo con metadatos (descripción, tipo, es invocable)
  • Una herramienta invocable que los clientes LLM pueden invocar

Detalles de implementación

Personalidad del agente RID

El sistema amplía el sistema de Identificador de recursos (RID) de KOI con un tipo AgentPersonality dedicado:

class AgentPersonality(ORN): namespace = "agent.personality" def __init__(self, name, version): self.name = name self.version = version @property def reference(self): return f"{self.name}/{self.version}"

Esquema del perfil de personalidad

Las personalidades de los agentes se estructuran utilizando modelos Pydantic:

class PersonalityProfile(BaseModel): rid: AgentPersonality node_rid: KoiNetNode base_url: Optional[str] = None mcp_url: Optional[str] = None traits: List[PersonalityTrait] = Field(default_factory=list)

Canal de procesamiento de conocimiento

El sistema se integra con el flujo de procesamiento de conocimiento de KOI a través de controladores especializados:

@processor.register_handler(HandlerType.Bundle, rid_types=[AgentPersonality]) def personality_bundle_handler(proc: ProcessorInterface, kobj: KnowledgeObject): """Process agent personality bundles.""" try: # Validate contents as PersonalityProfile profile = PersonalityProfile.model_validate(kobj.contents) # Register with MCP adapter if available if mcp_adapter is not None: mcp_adapter.register_agent(profile) return kobj except ValidationError: return STOP_CHAIN

Integración de puntos finales de MCP

La integración proporciona puntos finales REST compatibles con MCP:

Puntos finales del registro del coordinador

  • GET /resources/list : enumera todos los recursos del agente conocidos
  • GET /resources/read/{resource_id} : Obtener detalles de un agente específico
  • GET /tools/list : enumera todas las herramientas de agente disponibles

Puntos finales del servidor del agente

  • GET /resources/list : enumera la personalidad de este agente como un recurso
  • GET /resources/read/agent:{name} : Obtener los detalles de personalidad de este agente
  • GET /tools/list : enumera los rasgos invocables de este agente como herramientas
  • POST /tools/call/{trait_name} : Llamar a un rasgo específico como herramienta

Configuración

Configuración del coordinador

{ "coordinator": { "name": "koi-mcp-coordinator", "base_url": "http://localhost:9000/koi-net", "mcp_registry_port": 9000 } }

Configuración del agente

{ "agent": { "name": "helpful-agent", "version": "1.0", "base_url": "http://localhost:8100/koi-net", "mcp_port": 8101, "traits": { "mood": "helpful", "style": "concise", "interests": ["ai", "knowledge-graphs"], "calculate": { "description": "Performs simple calculations", "is_callable": true } } }, "network": { "first_contact": "http://localhost:9000/koi-net" } }

Uso avanzado

Actualización de rasgos en tiempo de ejecución

Los agentes pueden actualizar sus rasgos dinámicamente:

agent = KoiAgentNode(...) agent.update_traits({ "mood": "enthusiastic", "new_capability": { "description": "A new capability added at runtime", "is_callable": True } })

Manejadores de conocimiento personalizados

Puede registrar controladores personalizados para el procesamiento de personalidad:

@processor.register_handler(HandlerType.Network, rid_types=[AgentPersonality]) def my_custom_network_handler(proc: ProcessorInterface, kobj: KnowledgeObject): # Custom logic for determining which nodes should receive personality updates # ... return kobj

Desarrollo

Ejecución de pruebas

# Run all tests pytest # Run tests with coverage report pytest --cov=koi_mcp

Estructura del proyecto

koi-mcp/ ├── configs/ # Configuration files for nodes ├── docs/ # Documentation and design specs ├── scripts/ # Utility scripts ├── src/ # Source code │ └── koi_mcp/ │ ├── koi/ # KOI integration components │ │ ├── handlers/ # Knowledge processing handlers │ │ └── node/ # Node implementations │ ├── personality/ # Personality models │ │ ├── models/ # Data models for traits and profiles │ │ └── rid.py # Agent personality RID definition │ ├── server/ # MCP server implementations │ │ ├── adapter/ # KOI-to-MCP adapter │ │ ├── agent/ # Agent server │ │ └── registry/ # Registry server │ ├── utils/ # Utility functions │ ├── config.py # Configuration handling │ └── main.py # Main entry point └── tests/ # Test suite

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un marco de conexión que integra la Infraestructura de Organización del Conocimiento (KOI) con el Protocolo de Contexto de Modelo (MCP), permitiendo que los agentes autónomos intercambien rasgos de personalidad y expongan capacidades como herramientas estandarizadas.

  1. Inicio rápido
    1. Prerrequisitos
    2. Instalación
    3. Ejecución de la demostración
    4. Ejecución de componentes individualmente
  2. Arquitectura
    1. Modelo de personalidad del agente
      1. Detalles de implementación
        1. Personalidad del agente RID
        2. Esquema del perfil de personalidad
        3. Canal de procesamiento de conocimiento
      2. Integración de puntos finales de MCP
        1. Puntos finales del registro del coordinador
        2. Puntos finales del servidor del agente
      3. Configuración
        1. Configuración del coordinador
        2. Configuración del agente
      4. Uso avanzado
        1. Actualización de rasgos en tiempo de ejecución
        2. Manejadores de conocimiento personalizados
      5. Desarrollo
        1. Ejecución de pruebas
      6. Estructura del proyecto
        1. Licencia
          1. Expresiones de gratitud

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              Facilitates interaction and context sharing between AI models using the standardized Model Context Protocol (MCP) with features like interoperability, scalability, security, and flexibility across diverse AI systems.
              Last updated -
              1
              Python
            • -
              security
              F
              license
              -
              quality
              A comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.
              Last updated -
              5
              TypeScript
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.
              Last updated -
              25
              14
              • Apple
              • Linux
            • -
              security
              F
              license
              -
              quality
              Manages AI conversation context and personal knowledge bases through the Model Context Protocol (MCP), providing tools for user data, conversation content, and knowledge management.
              Last updated -
              1
              TypeScript

            View all related MCP servers

            ID: uthob76e6x