import asyncio
from dedalus_mcp.client import MCPClient
from dedalus_mcp import types
async def main():
client = await MCPClient.connect("http://127.0.0.1:8000/mcp")
try:
prompts = await client.list_prompts()
print("Available prompts:")
for p in prompts.prompts:
print(f" - {p.name}: {p.description}")
result = await client.get_prompt(
"explain-code",
{
"language": "python",
"code": "def fib(n): return n if n < 2 else fib(n-1) + fib(n-2)",
},
)
print("\nRendered prompt:")
for msg in result.messages:
if isinstance(msg.content, types.TextContent):
print(f"[{msg.role}] {msg.content.text}")
else:
print(f"[{msg.role}] <{msg.content.type} content>")
finally:
await client.close()
asyncio.run(main())