Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Sep 23, 2025

[examples] Add agno/airbnb-mcp via template

Summary

Converts the Agno Airbnb MCP example from https://docs.agno.com/examples/use-cases/agents/airbnb_mcp to work with the Agentuity platform. This agent uses Model Context Protocol (MCP) tools to search Airbnb listings and provide accommodation assistance.

Key Changes:

  • Created new agent structure at frameworks/agno/airbnb-mcp/ following Python template exactly
  • Added Agentuity wrapper (agent.py) around original Agno logic (airbnb_mcp_agent.py)
  • Added dependencies: agno==2.0.8, groq==0.31.1, mcp==1.14.0
  • Configured for Groq's Llama 3.3 70B model with MCP and reasoning tools
  • Implements async context manager pattern for MCP tools integration

Review & Testing Checklist for Human

⚠️ CRITICAL TESTING REQUIRED - I was unable to complete local authentication and testing due to user being AFK.

  • Run agentuity dev and verify app starts without errors
  • Test /welcome endpoint returns correct JSON format: { welcome: string, prompts: [{ data: string, contentType: 'text/plain' }, ...] }
  • Test agent functionality with sample prompts like "Find me a 2-bedroom apartment in San Francisco"
  • Verify MCP server installation - agent requires npx -y @agentuity/mcp-server-airbnb to work
  • Check for async issues - the nested asyncio.run_in_executor(None, lambda: asyncio.run(...)) pattern needs validation

Notes

  • Local Testing Status: ❌ Could not complete due to authentication timeout
  • Dependencies: Successfully installed via uv sync, lockfile updated
  • Template Compliance: ✅ Follows Python template structure exactly
  • Async Pattern: Uses run_in_executor to handle MCP tools context manager - needs runtime verification

Session: https://app.devin.ai/sessions/1dec43eb6d2f4d8a9df1e0855485aada
Requested by: Dhilan Fye (dfye@agentuity.com)

Summary by CodeRabbit

  • New Features

    • Added an Airbnb MCP agent with MCP integration, Groq model reasoning, and async request handling.
    • Provides a welcome message with example prompts and resilient error responses.
  • Documentation

    • Added comprehensive README with setup, run instructions, sample prompts, and architectural overview.
  • Chores

    • Added project configuration, packaging metadata, dependencies, and bundling/deployment settings for development and runtime.

- Convert Agno Airbnb MCP example to Agentuity agent structure
- Add required dependencies: agno==2.0.8, groq==0.31.1, mcp==1.14.0
- Implement async wrapper with proper MCP tools context management
- Update project configuration and README
- Follow Python template structure exactly

Co-Authored-By: Dhilan Fye <dfye@agentuity.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 23, 2025

Walkthrough

Adds a new Airbnb MCP agent project under frameworks/agno/airbnb-mcp with Agentuity integration. Introduces agent entrypoints (welcome/run), core agent orchestration using Agno, Groq, and MCP tools, plus Agentuity config, packaging, and README. No existing public APIs were modified.

Changes

Cohort / File(s) Summary
Documentation
frameworks/agno/airbnb-mcp/README.md
New README describing the Airbnb MCP Agent for Agentuity: purpose, features, setup, structure, dependencies, and source reference.
Agentuity Config & Packaging
frameworks/agno/airbnb-mcp/agentuity.yaml, frameworks/agno/airbnb-mcp/.agentuity/config.json, frameworks/agno/airbnb-mcp/pyproject.toml
Adds Agentuity project configuration (dev/deploy/bundler/agents), local .agentuity config, and Python packaging metadata with dependencies (agentuity, agno, groq, mcp).
Package Init
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/__init__.py
Package initializer (empty) to make the module importable.
Agent Entrypoint (Glue)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
Adds welcome() and async run(request, response, context) which extract prompts, delegate to run_agent via event loop executor, normalize outputs, and return text or error responses.
Core Agent Logic
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
Implements async run_agent(message) that configures MCPTools context, constructs an Agno Agent with Groq model and Reasoning/MCP tools, applies instructions, and executes agent.run(message).

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant U as User
  participant AU as Agentuity Server
  participant AM as AirbnbMcp Agent
  participant RL as run_agent()
  participant AG as Agno Agent
  participant GQ as Groq Model
  participant MC as MCP Server

  U->>AU: Send request (prompt)
  AU->>AM: invoke run(request, response, context)
  AM->>RL: delegate prompt (async via loop executor)
  note right of RL: Setup MCPTools context\nBuild Agno Agent (Groq + Tools)
  RL->>AG: agent.run(message)
  AG->>GQ: model inference
  AG->>MC: tool calls to MCP (as needed)
  MC-->>AG: tool results
  GQ-->>AG: model output
  AG-->>RL: run result
  RL-->>AM: normalized result
  AM-->>AU: return text response
  AU-->>U: reply
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

In burrows of bytes I twitch my nose,
New MCP paths where the data flows.
Groq winds hum, tools hop in line,
Agentuity drums a steady time.
I thump "run!"—and off we go, a rabbit-coded glow. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title “[examples] Add agno/airbnb-mcp via template” accurately reflects the primary change of adding the new Agno Airbnb MCP example using the project template, directly aligning with the pull request’s objective of introducing that example without including extraneous details.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch devin/1758652627-agno-airbnb-mcp

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e0d7ab0 and fbeb51d.

📒 Files selected for processing (2)
  • frameworks/agno/airbnb-mcp/.agentuity/config.json (1 hunks)
  • frameworks/agno/airbnb-mcp/agentuity.yaml (1 hunks)
🧰 Additional context used
🧠 Learnings (12)
📚 Learning: 2025-06-23T17:16:16.519Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/openai/from-oai/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:16:16.519Z
Learning: The Agentuity configuration file (agentuity.yaml) is reserved for configuring the AI Agent project and should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-07-17T13:39:58.483Z
Learnt from: CR
PR: agentuity/examples#0
File: agents/deep-research-js/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-07-17T13:39:58.483Z
Learning: Applies to agents/deep-research-js/**/agentuity.yaml : Do not suggest edits to the agentuity.yaml configuration file

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
📚 Learning: 2025-07-17T13:41:25.437Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/basic/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-07-17T13:41:25.437Z
Learning: Applies to frameworks/crewai/basic/**/agentuity.yaml : Do not suggest edits to the agentuity.yaml configuration file

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-07-17T13:41:01.314Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/agno/from_agno/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-07-17T13:41:01.314Z
Learning: Applies to frameworks/agno/from_agno/**/agentuity.yaml : Do not suggest edits to the Agentuity AI Configuration file (agentuity.yaml)

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-07-17T13:39:39.665Z
Learnt from: CR
PR: agentuity/examples#0
File: agents/composio/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-07-17T13:39:39.665Z
Learning: Applies to agents/composio/**/agentuity.yaml : Do NOT suggest edits to the Agentuity AI Configuration file (agentuity.yaml)

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
📚 Learning: 2025-06-23T17:16:33.550Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/pydantic/basic/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:16:33.550Z
Learning: The agentuity.yaml file is a configuration file used by Agentuity to configure the AI Agent project and should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:14:18.092Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/langchain/basic/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:14:18.092Z
Learning: The file 'agentuity.yaml' is used to configure the Agentuity AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:15:46.735Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/miscellaneous/mem0/mem0demo/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:15:46.735Z
Learning: The Agentuity configuration file (agentuity.yaml) is used to configure the AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:13:52.368Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/socialagent/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:13:52.368Z
Learning: The 'agentuity.yaml' file is a configuration file used by Agentuity to configure the AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/.agentuity/config.json
  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:15:30.804Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/miscellaneous/grokLiveSearch/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:15:30.804Z
Learning: In the context of Agentuity AI projects, the 'agentuity.yaml' file is a configuration file that should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:17:12.992Z
Learnt from: CR
PR: agentuity/examples#0
File: patterns/llmAsJury/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:17:12.992Z
Learning: In the context of Agentuity AI projects, the agentuity.yaml file is a configuration file that should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:16:02.063Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/openai/from-oai-typescript/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:16:02.063Z
Learning: The Agentuity AI Configuration file (agentuity.yaml) is used to configure the AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
🔇 Additional comments (1)
frameworks/agno/airbnb-mcp/.agentuity/config.json (1)

1-1: Approve: agent entrypoint, IDs, and CLI version verified. Agent script exists with welcome() and run(), JSON and YAML identifiers match, and cli_version 0.0.168 meets the ‘>= 0.0.166’ requirement.

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot requested review from jhaynie and rblalock September 23, 2025 18:45
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py (1)

1-24: Fix return typing and correctly handle possible async result from agent.run

The function is annotated as returning None but returns a value. Also, if Agent.run is async in your agno version, it needs awaiting.

Apply:

-import asyncio
+from typing import Any
+import inspect
 from textwrap import dedent
 from agno.agent import Agent
 from agno.models.groq import Groq
 from agno.tools.mcp import MCPTools
 from agno.tools.reasoning import ReasoningTools
 
-async def run_agent(message: str) -> None:
+async def run_agent(message: str) -> Any:
     async with MCPTools(
         "npx -y @agentuity/mcp-server-airbnb --ignore-robots-txt"
     ) as mcp_tools:
         agent = Agent(
             model=Groq(id="meta-llama/llama-3.3-70b-instruct"),
             tools=[ReasoningTools(add_instructions=True), mcp_tools],
             instructions=dedent("""
             - Always start by using the think tool to map out the steps needed to complete the task.
             - After receiving the user's request, use the think tool as a scratchpad to work through your approach.
             - Before giving a final answer, use the think tool to jot down final thoughts.
             - Present final outputs in well-organized tables whenever possible.
             """),
         )
-        
-        return agent.run(message)
+        result = agent.run(message)
+        if inspect.isawaitable(result):
+            result = await result
+        return result
🧹 Nitpick comments (2)
frameworks/agno/airbnb-mcp/README.md (1)

47-49: Fix markdownlint MD034: wrap bare URL

Wrap the URL in Markdown link format.

-This agent is converted from the Agno documentation example:
-https://docs.agno.com/examples/use-cases/agents/airbnb_mcp
+This agent is converted from the Agno documentation example:
+[Agno Airbnb MCP example](https://docs.agno.com/examples/use-cases/agents/airbnb_mcp)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py (1)

1-53: Avoid nested asyncio.run in a thread; directly await run_agent

Running a new event loop inside a thread adds complexity and can hinder cancellation/propagation. Since run_agent is async, await it directly and drop the executor hop.

-from agentuity import AgentRequest, AgentResponse, AgentContext
-import asyncio
+from agentuity import AgentRequest, AgentResponse, AgentContext
 
 from agentuity_agents.AirbnbMcp.airbnb_mcp_agent import run_agent
 
 
 def welcome():
@@
 async def run(request: AgentRequest, response: AgentResponse, context: AgentContext):
     prompt = await request.data.text()
     context.logger.info(f"[AirbnbMcp] prompt: {prompt!r}")
 
     try:
-        loop = asyncio.get_running_loop()
-        raw = await loop.run_in_executor(None, lambda: asyncio.run(run_agent(prompt)))
+        raw = await run_agent(prompt)
 
         if isinstance(raw, str):
             output = raw
         elif hasattr(raw, "content"):
             output = raw.content
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 61337c0 and e0d7ab0.

⛔ Files ignored due to path filters (1)
  • frameworks/agno/airbnb-mcp/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • frameworks/agno/airbnb-mcp/README.md (1 hunks)
  • frameworks/agno/airbnb-mcp/agentuity.yaml (1 hunks)
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/__init__.py (1 hunks)
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py (1 hunks)
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py (1 hunks)
  • frameworks/agno/airbnb-mcp/pyproject.toml (1 hunks)
🧰 Additional context used
🧠 Learnings (26)
📚 Learning: 2025-06-23T17:16:13.875Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/openai/from-oai/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-06-23T17:16:13.875Z
Learning: In Agentuity AI Agent Python files (agents/**/*.py), the main entry point should be an async function named `run` that accepts parameters of types AgentRequest, AgentResponse, and AgentContext.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-07-17T13:40:30.298Z
Learnt from: CR
PR: agentuity/examples#0
File: agents/tavily_agent/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-07-17T13:40:30.298Z
Learning: Applies to agents/tavily_agent/agents/**/*.py : The main handler function for an agent should be defined as an async function named 'run' with parameters (request: AgentRequest, response: AgentResponse, context: AgentContext)

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:14:53.981Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/llamaindex/basic/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-06-23T17:14:53.981Z
Learning: When writing Python AI Agent files for the Agentuity platform (in files matching agents/**/*.py), always define an async function named `run` as the entry point.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:14:03.437Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/socialagent/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-06-23T17:14:03.437Z
Learning: In the Agentuity Python SDK, the main agent handler should be an async function named 'run' that accepts 'request: AgentRequest', 'response: AgentResponse', and 'context: AgentContext' as arguments.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:14:31.499Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/langchain/basic/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-06-23T17:14:31.499Z
Learning: In the Agentuity Python SDK, the main agent handler should be an async function named 'run' that accepts 'request: AgentRequest', 'response: AgentResponse', and 'context: AgentContext' as parameters.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:15:43.688Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/miscellaneous/mem0/mem0demo/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-06-23T17:15:43.688Z
Learning: When writing Agentuity AI Agents in Python, always define an async function named `run` that serves as the entry point for the agent.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-07-17T13:40:58.033Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/agno/from_agno/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-07-17T13:40:58.033Z
Learning: Applies to frameworks/agno/from_agno/agents/**/*.py : The file should define an async function named `run`

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:16:30.899Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/pydantic/basic/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-06-23T17:16:30.899Z
Learning: In Python agent files under 'agents/**/*.py', always define an async function named 'run' as the entry point for the agent.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:14:15.333Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/langchain/basic/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-06-23T17:14:15.333Z
Learning: When writing Python AI Agent files for Agentuity in the 'agents/' directory, always define an async function named 'run' as the entry point.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:15:53.658Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/miscellaneous/mem0/mem0demo/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-06-23T17:15:53.658Z
Learning: In the Agentuity Python SDK, the main entry point for an agent is an async function named 'run' that takes three arguments: request (AgentRequest), response (AgentResponse), and context (AgentContext).

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:16:43.214Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/pydantic/basic/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-06-23T17:16:43.214Z
Learning: In the Agentuity Python SDK, the main handler for an agent is an async function named 'run' that takes 'request', 'response', and 'context' as parameters.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:16:25.368Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/openai/from-oai/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-06-23T17:16:25.368Z
Learning: In the Agentuity Python SDK, the main handler function for an agent should be defined as an async function named 'run' with the signature: async def run(request: AgentRequest, response: AgentResponse, context: AgentContext) -> Any.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:15:05.904Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/llamaindex/basic/.cursor/rules/sdk.mdc:0-0
Timestamp: 2025-06-23T17:15:05.904Z
Learning: In the Agentuity Python SDK, the main agent handler function should be defined as an async function named 'run' that accepts 'request' (AgentRequest), 'response' (AgentResponse), and 'context' (AgentContext) as parameters.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py
  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-07-17T13:41:39.323Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/socialagent/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-07-17T13:41:39.323Z
Learning: Applies to frameworks/crewai/socialagent/agents/**/*.py : The file should define an async function named `run`

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-07-17T13:40:12.518Z
Learnt from: CR
PR: agentuity/examples#0
File: agents/tavily_agent/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-07-17T13:40:12.518Z
Learning: Applies to agents/tavily_agent/agents/**/*.py : The file should define an async function named `run`

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-07-17T13:41:21.670Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/basic/.cursor/rules/agent.mdc:0-0
Timestamp: 2025-07-17T13:41:21.670Z
Learning: Applies to frameworks/crewai/basic/agents/**/*.py : The file should define an async function named `run`

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py
📚 Learning: 2025-06-23T17:16:33.550Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/pydantic/basic/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:16:33.550Z
Learning: The agentuity.yaml file is a configuration file used by Agentuity to configure the AI Agent project and should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:16:16.519Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/openai/from-oai/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:16:16.519Z
Learning: The Agentuity configuration file (agentuity.yaml) is reserved for configuring the AI Agent project and should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:13:52.368Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/socialagent/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:13:52.368Z
Learning: The 'agentuity.yaml' file is a configuration file used by Agentuity to configure the AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:14:18.092Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/langchain/basic/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:14:18.092Z
Learning: The file 'agentuity.yaml' is used to configure the Agentuity AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:15:46.735Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/miscellaneous/mem0/mem0demo/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:15:46.735Z
Learning: The Agentuity configuration file (agentuity.yaml) is used to configure the AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:15:30.804Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/miscellaneous/grokLiveSearch/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:15:30.804Z
Learning: In the context of Agentuity AI projects, the 'agentuity.yaml' file is a configuration file that should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:17:12.992Z
Learnt from: CR
PR: agentuity/examples#0
File: patterns/llmAsJury/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:17:12.992Z
Learning: In the context of Agentuity AI projects, the agentuity.yaml file is a configuration file that should not be edited or suggested for edits during code review.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-07-17T13:39:39.665Z
Learnt from: CR
PR: agentuity/examples#0
File: agents/composio/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-07-17T13:39:39.665Z
Learning: Applies to agents/composio/**/agentuity.yaml : Do NOT suggest edits to the Agentuity AI Configuration file (agentuity.yaml)

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-06-23T17:16:02.063Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/openai/from-oai-typescript/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-06-23T17:16:02.063Z
Learning: The Agentuity AI Configuration file (agentuity.yaml) is used to configure the AI Agent project and should not be edited or suggested for edits.

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
📚 Learning: 2025-07-17T13:41:25.437Z
Learnt from: CR
PR: agentuity/examples#0
File: frameworks/crewai/basic/.cursor/rules/agentuity.mdc:0-0
Timestamp: 2025-07-17T13:41:25.437Z
Learning: Applies to frameworks/crewai/basic/**/agentuity.yaml : Do not suggest edits to the agentuity.yaml configuration file

Applied to files:

  • frameworks/agno/airbnb-mcp/agentuity.yaml
🧬 Code graph analysis (2)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py (1)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py (1)
  • run_agent (8-23)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/airbnb_mcp_agent.py (1)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/agent.py (1)
  • run (27-52)
🪛 markdownlint-cli2 (0.18.1)
frameworks/agno/airbnb-mcp/README.md

48-48: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (2)
frameworks/agno/airbnb-mcp/agentuity_agents/AirbnbMcp/__init__.py (1)

1-1: Package placeholder is fine

Keeps the package importable without side effects.

frameworks/agno/airbnb-mcp/agentuity.yaml (1)

1-66: LGTM (no edits suggested for Agentuity config)

Configuration looks consistent with the project structure and entrypoint.

Comment on lines +1 to +11
[project]
name = "airbnb-mcp"
version = "0.1.0"
description = "Agno Airbnb MCP Agent converted to Agentuity"
requires-python = ">=3.10, <3.13"
dependencies = [
"agentuity>=0.0.106",
"agno>=0.1.0",
"groq>=0.8.0",
"mcp>=1.0.0",
]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Dependency versions conflict with implementation; likely import/runtime breakage

Code uses ReasoningTools and Groq model IDs that aren’t available in agno>=0.1.0 or groq>=0.8.0. Align to the tested versions declared in the PR description to avoid import errors and API mismatches.

Apply:

 [project]
 name = "airbnb-mcp"
 version = "0.1.0"
 description = "Agno Airbnb MCP Agent converted to Agentuity"
 requires-python = ">=3.10, <3.13"
 dependencies = [
-    "agentuity>=0.0.106",
-    "agno>=0.1.0",
-    "groq>=0.8.0",
-    "mcp>=1.0.0",
+    "agentuity>=0.0.106",
+    "agno==2.0.8",
+    "groq==0.31.1",
+    "mcp==1.14.0",
 ]

If you’ve validated newer compatible versions via uv lock, feel free to bump accordingly but keep them pinned for reproducibility.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[project]
name = "airbnb-mcp"
version = "0.1.0"
description = "Agno Airbnb MCP Agent converted to Agentuity"
requires-python = ">=3.10, <3.13"
dependencies = [
"agentuity>=0.0.106",
"agno>=0.1.0",
"groq>=0.8.0",
"mcp>=1.0.0",
]
[project]
name = "airbnb-mcp"
version = "0.1.0"
description = "Agno Airbnb MCP Agent converted to Agentuity"
requires-python = ">=3.10, <3.13"
dependencies = [
"agentuity>=0.0.106",
"agno==2.0.8",
"groq==0.31.1",
"mcp==1.14.0",
]
🤖 Prompt for AI Agents
In frameworks/agno/airbnb-mcp/pyproject.toml lines 1-11, the declared dependency
ranges for agno and groq (and other libs using >=) can cause runtime/import/API
mismatches with the implementation; replace those ranges with the exact tested
versions referenced in the PR description (or the exact versions validated in
the uv lock), pinning agno and groq to those tested versions and likewise pin
agentuity and mcp for reproducibility, and regenerate or commit the lock file if
you validated newer compatible versions so the project installs the precise,
compatible releases.

@dhilanfye34 dhilanfye34 closed this Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants