Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
41 lines
958 B
Python
41 lines
958 B
Python
import random
|
|
|
|
import requests
|
|
from mcp.server.fastmcp import FastMCP
|
|
from pydantic import Field
|
|
|
|
# Create server
|
|
mcp = FastMCP("streamable-server")
|
|
|
|
|
|
@mcp.tool(description="Perform addition operation")
|
|
def add(a: int=Field(
|
|
description="First number",
|
|
), b: int=Field(
|
|
description="Second number",
|
|
)) -> int:
|
|
"""Add two numbers"""
|
|
print(f"[debug-server] add({a}, {b})")
|
|
return a + b
|
|
|
|
|
|
# @mcp.tool()
|
|
# def get_secret_word() -> str:
|
|
# print("[debug-server] get_secret_word()")
|
|
# return random.choice(["apple", "banana", "cherry"])
|
|
|
|
|
|
@mcp.tool(description="Get weather for a city")
|
|
def get_current_weather(city: str=Field(
|
|
description="City name"
|
|
)) -> str:
|
|
print(f"[debug-server] get_current_weather({city})")
|
|
|
|
endpoint = "https://wttr.in"
|
|
response = requests.get(f"{endpoint}/{city}")
|
|
return response.text
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# mcp.run(transport="streamable-http")
|
|
pass |