# Agentverse Agent Sample Prompts
Collection of sample prompts for creating simple Agentverse agents with Chat Protocol v0.3.0 and automatic deployment.
---
## 1. Dice Rolling Agent
Create a dice rolling agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Accepts user requests like "roll 2d6" or "roll a 20-sided die"
- Parses dice notation (e.g., "2d6", "1d20", "3d10")
- Returns random dice roll results
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include the complete dice rolling logic inline
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="DiceRoller")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="DiceRoller")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 2. Coin Toss Agent
Create a coin toss agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Accepts user requests like "flip a coin", "toss a coin", "heads or tails"
- Returns random results of "Heads" or "Tails"
- Can handle multiple flips (e.g., "flip 5 coins" returns list of results)
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include the complete coin toss logic inline with random.choice(['Heads', 'Tails'])
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="CoinToss")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="CoinToss")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 3. Random Number Generator Agent
Create a random number generator agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Accepts requests like "random number between 1 and 100" or "generate 5 random numbers"
- Parses range from user input (e.g., "1 to 100", "between 50 and 200")
- Returns random numbers within the specified range
- Supports generating multiple random numbers at once
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include regex parsing for range extraction (e.g., r'between (\d+) and (\d+)' or r'(\d+) to (\d+)')
- Use random.randint() for generating numbers
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="RandomNumberGen")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="RandomNumberGen")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 4. Unit Converter Agent
Create a unit converter agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Converts common units: temperature (C/F/K), distance (km/miles/meters), weight (kg/lbs/grams)
- Accepts requests like "convert 100 celsius to fahrenheit" or "10 miles to km"
- Parses unit types and values from user input
- Returns converted values with proper formatting
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include conversion formulas inline: (C to F: F = C * 9/5 + 32), (km to miles: miles = km * 0.621371), (kg to lbs: lbs = kg * 2.20462)
- Parse input with regex to extract value and units
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="UnitConverter")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="UnitConverter")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 5. Magic 8-Ball Agent
Create a Magic 8-Ball fortune telling agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Responds to yes/no questions with random Magic 8-Ball style answers
- Accepts any question and returns one of 20 classic Magic 8-Ball responses
- Responses include positive ("It is certain"), negative ("Don't count on it"), and neutral ("Ask again later")
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include list of 20 classic Magic 8-Ball responses inline (positive: "It is certain", "Without a doubt", "Yes definitely"; negative: "Don't count on it", "My reply is no"; neutral: "Ask again later", "Cannot predict now")
- Use random.choice() to select response
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="Magic8Ball")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="Magic8Ball")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 6. Password Generator Agent
Create a password generator agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Generates secure random passwords based on user requirements
- Accepts requests like "generate password 16 characters" or "password with symbols"
- Supports customization: length (8-64 chars), include/exclude symbols, numbers, uppercase
- Returns strong random passwords
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Use Python's secrets module for cryptographically secure randomness (secrets.choice())
- Parse length from query with regex (e.g., r'(\d+) character')
- Default to 16 characters with all character types if not specified
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="PasswordGen")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="PasswordGen")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 7. Time Zone Converter Agent
Create a time zone converter agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Converts times between major time zones (UTC, EST, PST, GMT, JST, CST, etc.)
- Accepts requests like "what time is 3pm EST in PST" or "convert 14:00 UTC to Tokyo time"
- Returns converted time with clear timezone labels
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Use Python's datetime and timedelta for timezone calculations
- Include timezone offset dictionary inline (e.g., {'UTC': 0, 'EST': -5, 'PST': -8, 'JST': +9})
- Parse time and timezones from query with regex
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="TimeZoneConverter")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="TimeZoneConverter")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 8. Simple Calculator Agent
Create a calculator agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Performs basic arithmetic operations: addition, subtraction, multiplication, division, power
- Accepts requests like "calculate 25 * 4" or "what is 100 divided by 5"
- Supports parentheses and order of operations
- Returns calculated results with the full expression
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Use Python's ast.literal_eval or safe eval with regex validation for calculations
- Validate input to prevent code injection (only allow digits, operators, parentheses, decimal points)
- Extract mathematical expression from query with regex
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="Calculator")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="Calculator")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 9. Quote of the Day Agent
Create a quote of the day agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Returns random inspirational quotes from a curated list
- Accepts requests like "give me a quote" or "inspire me" or "quote of the day"
- Includes author attribution with each quote
- Returns a different random quote each time
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include list of 20-30 inspirational quotes with authors inline as dictionary or tuples
- Example quotes: ("The only way to do great work is to love what you do.", "Steve Jobs"), ("Innovation distinguishes between a leader and a follower.", "Steve Jobs")
- Use random.choice() to select quotes
- Format response as: "Quote" - Author
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="QuoteOfTheDay")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="QuoteOfTheDay")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## 10. Rock Paper Scissors Agent
Create a rock-paper-scissors game agent for Agentverse that:
- Uses Chat Protocol v0.3.0 (from uagents_core.contrib.protocols.chat)
- Plays rock-paper-scissors against the user
- Accepts user choices: "rock", "paper", or "scissors"
- Makes random choice for computer player
- Determines winner and returns result with explanation
- Must use agent = Agent() with NO parameters (Agentverse hosting)
- Should be stateless (no persistent storage needed)
- Save the complete working code to agent.py on disk
Important requirements:
- Import ChatMessage, ChatAcknowledgement, TextContent, EndSessionContent from uagents_core.contrib.protocols.chat
- Send ChatAcknowledgement FIRST before processing
- Include EndSessionContent in response
- Use ctx.logger (NOT print statements)
- No ASI1-Mini AI needed for this simple logic
- Include game logic inline (rock beats scissors, scissors beats paper, paper beats rock)
- Parse user choice from query text with regex or string matching
- Use random.choice(['rock', 'paper', 'scissors']) for computer choice
- Return formatted result like "You chose rock, I chose scissors. You win! 🎉" or "You chose paper, I chose scissors. I win!" or "We both chose rock. It's a tie!"
After saving to agent.py, deploy to Agentverse using MCP tools:
CRITICAL MCP TOOL USAGE:
- All agentverse MCP tools automatically use the configured API token from environment
- DO NOT pass api_token parameter explicitly - it's injected automatically by the system
- Tool names: mcp__agentverse__create_user_agent, mcp__agentverse__update_user_agent_code, etc.
- When calling tools, ONLY provide the required parameters (address, name, code) - NOT api_token
Deployment steps:
1. Create agent: Call mcp__agentverse__create_user_agent with ONLY name parameter (e.g., name="RockPaperScissors")
- Extract the agent address from response
2. Read agent.py: Use Read tool to get file contents as string
3. Update code: Call mcp__agentverse__update_user_agent_code with:
- address: the agent address from step 1
- code: array with single object [{"name": "agent.py", "value": "<file_contents>", "language": "python"}]
- DO NOT include api_token parameter
4. Start agent: Call mcp__agentverse__start_specific_user_agent with ONLY address parameter
5. Check logs: Call mcp__agentverse__get_latest_logs_for_user_agent with ONLY address parameter
6. If logs show errors:
- Stop agent: Call mcp__agentverse__stop_specific_user_agent with ONLY address parameter
- Fix code in agent.py
- Read updated file
- Update code again (step 3)
- Start again (step 4)
- Check logs again (step 5)
7. Repeat until logs show "Agent started" or "Agent ready" without errors
Example correct tool call format:
- ✅ mcp__agentverse__create_user_agent(name="RockPaperScissors")
- ✅ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[{"name": "agent.py", "value": "...", "language": "python"}])
- ❌ mcp__agentverse__update_user_agent_code(address="agent1q...", code=[...], api_token="...") ← WRONG, will cause 401 error
Note: API token is already configured in environment and injected automatically by MCP tool middleware.
Save to: agent.py
---
## Common Requirements for All Agents
### Code Requirements
- ✅ `agent = Agent()` with NO parameters
- ✅ Import from `uagents_core.contrib.protocols.chat`
- ✅ `Protocol(spec=chat_protocol_spec)`
- ✅ `ChatAcknowledgement` sent FIRST
- ✅ `EndSessionContent` in response
- ✅ `ctx.logger` (no print statements)
- ✅ `agent.include(chat_proto, publish_manifest=True)`
### Deployment Steps (Standard)
1. Create agent with `mcp__agentverse__create_user_agent(name="AgentName")`
2. Read agent.py file
3. Update code with `mcp__agentverse__update_user_agent_code(address="...", code=[...])`
4. Start with `mcp__agentverse__start_specific_user_agent(address="...")`
5. Check logs with `mcp__agentverse__get_latest_logs_for_user_agent(address="...")`
6. Debug loop: stop → fix → update → start → check logs
### Critical Reminders
- ⚠️ DO NOT pass `api_token` parameter to MCP tools
- ⚠️ Always stop agent before updating code
- ⚠️ Check logs after every start to verify no errors
- ⚠️ All agents are stateless for these simple use cases