-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Problem
The return value of remote MCP is not a json dict but a string.
Steps to reproduce
- Build standard mcp services, which each return a dict
- Run following code, if the generated code require to print a filed of the result, error occur saying that cannot index a str using str.
from smolagents import ToolCollection, CodeAgent
from smolagents import OpenAIServerModel
model = OpenAIServerModel(
model_id=os.getenv("LLM_MODEL"),
api_base=os.getenv("LLM_BASE_URL"), # Leave this blank to query OpenAI servers.
api_key=os.getenv("LLM_API_KEY"), # Switch to the API key for the server you're targeting.
)
with ToolCollection.from_mcp({"url": "http://127.0.0.1:8000/stock_info/mcp", "transport": "streamable-http"}, trust_remote_code=True) as stock_info_tools:
agent = CodeAgent(tools=[*stock_info_tools.tools],
add_base_tools=True, model=model)
agent.run("Please output stock price of AAPL in the last 30 days")
Actual behavior and error logs
The smolagent produces following code and runs into error mentioned above.
import datetime
# Get today's date and 30 days ago
today = datetime.datetime.now().date()
start_date = (today - datetime.timedelta(days=40)).strftime("%Y-%m-%d") # padding for non-trading days
end_date = today.strftime("%Y-%m-%d")
# Fetch stock data for AAPL for US market
aapl_data = stock_data(
ticker="AAPL",
startdate=start_date,
enddate=end_date,
period="daily",
market="us",
adjust="qfq"
)
print("Columns:", aapl_data["columns"]) # <---- error occurs
print("Number of rows:", len(aapl_data["data"]))
print("Sample row:", aapl_data["data"][-1] if aapl_data["data"] else "No data")
Expected behavior
The remote mcp tool calling should return the exact object defined in function.
Environment:
Please complete the following information:
- OS: Mac Os
- Python version: 3.12
- Package version: 1.20
Add any other context, screenshots, or links about the bug here.
Checklist
- I have searched the existing issues and have not found a similar bug report.
- I have provided a minimal, reproducible example.
- I have provided the full traceback of the error.
- I have provided my environment details.
- I am willing to work on this issue and submit a pull request. (optional)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working