simple_rag_mcp_agent ==================== .. py:module:: simple_rag_mcp_agent .. autoapi-nested-parse:: SimpleRAG Agent for MCP Server Discovery. This agent uses the enhanced retriever to help users find and understand MCP servers. It can answer questions about server capabilities, suggest servers based on needs, and provide detailed information about specific servers. Attributes ---------- .. autoapisummary:: simple_rag_mcp_agent.app simple_rag_mcp_agent.rag_agent Classes ------- .. autoapisummary:: simple_rag_mcp_agent.MCPRetrieverWrapper simple_rag_mcp_agent.MCPSimpleRAGAgent simple_rag_mcp_agent.QueryRequest simple_rag_mcp_agent.QueryResponse Functions --------- .. autoapisummary:: simple_rag_mcp_agent.ask_agent simple_rag_mcp_agent.create_mcp_rag_agent simple_rag_mcp_agent.demo_mcp_rag_agent simple_rag_mcp_agent.root simple_rag_mcp_agent.startup_event Module Contents --------------- .. py:class:: MCPRetrieverWrapper(enhanced_retriever: haive.mcp.working_enhanced_retriever.WorkingEnhancedRetriever) Bases: :py:obj:`langchain_core.retrievers.BaseRetriever` Wrapper to make our enhanced retriever compatible with LangChain. .. py:attribute:: enhanced_retriever .. py:property:: llm Llm. .. py:class:: MCPSimpleRAGAgent(name: str = 'mcp_rag_agent', **kwargs) Bases: :py:obj:`haive.agents.rag.simple.agent.SimpleRAGAgent` SimpleRAG agent specialized for MCP server discovery. .. py:method:: get_system_prompt() -> str Custom system prompt for MCP assistance. .. py:attribute:: mcp_retriever .. py:class:: QueryRequest(/, **data: Any) Bases: :py:obj:`pydantic.BaseModel` !!! abstract "Usage Documentation" [Models](../concepts/models.md) A base class for creating Pydantic models. .. attribute:: __class_vars__ The names of the class variables defined on the model. .. attribute:: __private_attributes__ Metadata about the private attributes of the model. .. attribute:: __signature__ The synthesized `__init__` [`Signature`][inspect.Signature] of the model. .. attribute:: __pydantic_complete__ Whether model building is completed, or if there are still undefined fields. .. attribute:: __pydantic_core_schema__ The core schema of the model. .. attribute:: __pydantic_custom_init__ Whether the model has a custom `__init__` function. .. attribute:: __pydantic_decorators__ Metadata containing the decorators defined on the model. This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1. .. attribute:: __pydantic_generic_metadata__ Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these. .. attribute:: __pydantic_parent_namespace__ Parent namespace of the model, used for automatic rebuilding of models. .. attribute:: __pydantic_post_init__ The name of the post-init method for the model, if defined. .. attribute:: __pydantic_root_model__ Whether the model is a [`RootModel`][pydantic.root_model.RootModel]. .. attribute:: __pydantic_serializer__ The `pydantic-core` `SchemaSerializer` used to dump instances of the model. .. attribute:: __pydantic_validator__ The `pydantic-core` `SchemaValidator` used to validate instances of the model. .. attribute:: __pydantic_fields__ A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects. .. attribute:: __pydantic_computed_fields__ A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects. .. attribute:: __pydantic_extra__ A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra] is set to `'allow'`. .. attribute:: __pydantic_fields_set__ The names of fields explicitly set during instantiation. .. attribute:: __pydantic_private__ Values of private attributes set on the model instance. .. py:attribute:: max_documents :type: int :value: 5 .. py:attribute:: query :type: str .. py:class:: QueryResponse(/, **data: Any) Bases: :py:obj:`pydantic.BaseModel` !!! abstract "Usage Documentation" [Models](../concepts/models.md) A base class for creating Pydantic models. .. attribute:: __class_vars__ The names of the class variables defined on the model. .. attribute:: __private_attributes__ Metadata about the private attributes of the model. .. attribute:: __signature__ The synthesized `__init__` [`Signature`][inspect.Signature] of the model. .. attribute:: __pydantic_complete__ Whether model building is completed, or if there are still undefined fields. .. attribute:: __pydantic_core_schema__ The core schema of the model. .. attribute:: __pydantic_custom_init__ Whether the model has a custom `__init__` function. .. attribute:: __pydantic_decorators__ Metadata containing the decorators defined on the model. This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1. .. attribute:: __pydantic_generic_metadata__ Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these. .. attribute:: __pydantic_parent_namespace__ Parent namespace of the model, used for automatic rebuilding of models. .. attribute:: __pydantic_post_init__ The name of the post-init method for the model, if defined. .. attribute:: __pydantic_root_model__ Whether the model is a [`RootModel`][pydantic.root_model.RootModel]. .. attribute:: __pydantic_serializer__ The `pydantic-core` `SchemaSerializer` used to dump instances of the model. .. attribute:: __pydantic_validator__ The `pydantic-core` `SchemaValidator` used to validate instances of the model. .. attribute:: __pydantic_fields__ A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects. .. attribute:: __pydantic_computed_fields__ A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects. .. attribute:: __pydantic_extra__ A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra] is set to `'allow'`. .. attribute:: __pydantic_fields_set__ The names of fields explicitly set during instantiation. .. attribute:: __pydantic_private__ Values of private attributes set on the model instance. .. py:attribute:: query :type: str .. py:attribute:: response :type: str .. py:attribute:: retrieved_servers :type: list[dict[str, Any]] .. py:attribute:: timestamp :type: str .. py:function:: ask_agent(request: QueryRequest) :async: Ask the RAG agent a question about MCP servers. .. py:function:: create_mcp_rag_agent(model: str = 'gpt-3.5-turbo') -> MCPSimpleRAGAgent :async: Factory function to create configured MCP RAG agent. .. py:function:: demo_mcp_rag_agent() :async: Demonstrate the MCP RAG agent. .. py:function:: root() :async: Simple web UI for testing the agent. .. py:function:: startup_event() :async: Initialize the RAG agent on startup. .. py:data:: app .. py:data:: rag_agent :value: None