Skip to main content
Glama
quickstart.py1.7 kB
import asyncio from pathlib import Path from ipybox import ApprovalRequest, CodeExecutionResult, CodeExecutor, generate_mcp_sources from ipybox.utils import arun SERVER_PARAMS = { "command": "npx", "args": [ "-y", "@brave/brave-search-mcp-server", "--transport", "stdio", ], "env": { "BRAVE_API_KEY": "${BRAVE_API_KEY}", }, } CODE = """ from mcptools.brave_search.brave_image_search import Params, Result, run result: Result = run(Params(query="neural topic models", count=3)) for image in result.items: print(f"- [{image.title}]({image.properties.url})") """ async def main(): # Generate a Python tool API # for the Brave Search MCP server await generate_mcp_sources( server_name="brave_search", server_params=SERVER_PARAMS, root_dir=Path("mcptools"), ) # Launch ipybox code executor async with CodeExecutor() as executor: # Execute code that calls an MCP tool # programmatically in an IPython kernel async for item in executor.stream(CODE): match item: # Handle approval requests case ApprovalRequest() as req: # Prompt user to approve or reject MCP tool call prompt = f"Tool call: [{req}]\nApprove? (Y/n): " if await arun(input, prompt) in ["y", ""]: await req.accept() else: await req.reject() # Handle final execution result case CodeExecutionResult(text=text): print(text) if __name__ == "__main__": asyncio.run(main())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gradion-ai/ipybox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server