simple_rag_mcp_agent

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

Classes

MCPRetrieverWrapper

Wrapper to make our enhanced retriever compatible with LangChain.

MCPSimpleRAGAgent

SimpleRAG agent specialized for MCP server discovery.

QueryRequest

!!! abstract "Usage Documentation"

QueryResponse

!!! abstract "Usage Documentation"

Functions

ask_agent(request)

Ask the RAG agent a question about MCP servers.

create_mcp_rag_agent(→ MCPSimpleRAGAgent)

Factory function to create configured MCP RAG agent.

demo_mcp_rag_agent()

Demonstrate the MCP RAG agent.

root()

Simple web UI for testing the agent.

startup_event()

Initialize the RAG agent on startup.

Module Contents

class simple_rag_mcp_agent.MCPRetrieverWrapper(enhanced_retriever: haive.mcp.working_enhanced_retriever.WorkingEnhancedRetriever)

Bases: langchain_core.retrievers.BaseRetriever

Wrapper to make our enhanced retriever compatible with LangChain.

enhanced_retriever
property llm

Llm.

class simple_rag_mcp_agent.MCPSimpleRAGAgent(name: str = 'mcp_rag_agent', **kwargs)

Bases: haive.agents.rag.simple.agent.SimpleRAGAgent

SimpleRAG agent specialized for MCP server discovery.

get_system_prompt() str

Custom system prompt for MCP assistance.

mcp_retriever
class simple_rag_mcp_agent.QueryRequest(/, **data: Any)

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

__class_vars__

The names of the class variables defined on the model.

__private_attributes__

Metadata about the private attributes of the model.

__signature__

The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__

Whether model building is completed, or if there are still undefined fields.

__pydantic_core_schema__

The core schema of the model.

__pydantic_custom_init__

Whether the model has a custom __init__ function.

__pydantic_decorators__

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__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.

__pydantic_parent_namespace__

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__

The name of the post-init method for the model, if defined.

__pydantic_root_model__

Whether the model is a [RootModel][pydantic.root_model.RootModel].

__pydantic_serializer__

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__

The pydantic-core SchemaValidator used to validate instances of the model.

__pydantic_fields__

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

__pydantic_computed_fields__

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_fields_set__

The names of fields explicitly set during instantiation.

__pydantic_private__

Values of private attributes set on the model instance.

max_documents: int = 5
query: str
class simple_rag_mcp_agent.QueryResponse(/, **data: Any)

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

__class_vars__

The names of the class variables defined on the model.

__private_attributes__

Metadata about the private attributes of the model.

__signature__

The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__

Whether model building is completed, or if there are still undefined fields.

__pydantic_core_schema__

The core schema of the model.

__pydantic_custom_init__

Whether the model has a custom __init__ function.

__pydantic_decorators__

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__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.

__pydantic_parent_namespace__

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__

The name of the post-init method for the model, if defined.

__pydantic_root_model__

Whether the model is a [RootModel][pydantic.root_model.RootModel].

__pydantic_serializer__

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__

The pydantic-core SchemaValidator used to validate instances of the model.

__pydantic_fields__

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

__pydantic_computed_fields__

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_fields_set__

The names of fields explicitly set during instantiation.

__pydantic_private__

Values of private attributes set on the model instance.

query: str
response: str
retrieved_servers: list[dict[str, Any]]
timestamp: str
async simple_rag_mcp_agent.ask_agent(request: QueryRequest)

Ask the RAG agent a question about MCP servers.

async simple_rag_mcp_agent.create_mcp_rag_agent(model: str = 'gpt-3.5-turbo') MCPSimpleRAGAgent

Factory function to create configured MCP RAG agent.

async simple_rag_mcp_agent.demo_mcp_rag_agent()

Demonstrate the MCP RAG agent.

async simple_rag_mcp_agent.root()

Simple web UI for testing the agent.

async simple_rag_mcp_agent.startup_event()

Initialize the RAG agent on startup.

simple_rag_mcp_agent.app
simple_rag_mcp_agent.rag_agent = None