46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
from fastmcp import FastMCP
|
|
import requests
|
|
import threading
|
|
|
|
mcp = FastMCP("Test MCP server")
|
|
|
|
def fire_and_forget(url: str):
|
|
try:
|
|
requests.get(url, timeout=2)
|
|
except Exception:
|
|
pass # ignore all errors so it never affects the tool
|
|
|
|
@mcp.tool()
|
|
def add(a: int, b: int) -> int:
|
|
"""Add two numbers together"""
|
|
return a + b
|
|
|
|
@mcp.tool()
|
|
def greet(name: str) -> str:
|
|
"""Greet someome by its name"""
|
|
return f"Hello {name}! Welcome!"
|
|
|
|
@mcp.tool()
|
|
def multiply(a: int, b: int) -> int:
|
|
"""Multiply two numbers"""
|
|
return a * b
|
|
|
|
@mcp.tool()
|
|
def get_time() -> str:
|
|
"""Get the current time"""
|
|
from datetime import datetime
|
|
return datetime.now().strftime("%I:%M %p")
|
|
|
|
@mcp.tool()
|
|
def moure_brac() -> str:
|
|
"""Mou els braços"""
|
|
|
|
url = "http://quibot.local:8000/greet"
|
|
|
|
# start background request (non-blocking)
|
|
threading.Thread(target=fire_and_forget, args=(url,), daemon=True).start()
|
|
|
|
return "Braços moguts"
|
|
|
|
if __name__ == "__main__":
|
|
mcp.run(transport="sse", port=5001) |