Skip to main content
Glama

Gurddy MCP Server

by novvoo
http_mcp_client.py3.15 kB
#!/usr/bin/env python3 """Example HTTP MCP client for gurddy-mcp. This demonstrates how to interact with the HTTP MCP server. """ import json import requests def call_mcp_tool(base_url: str, tool_name: str, arguments: dict = None) -> dict: """Call an MCP tool via HTTP.""" if arguments is None: arguments = {} request = { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": tool_name, "arguments": arguments } } response = requests.post(f"{base_url}/message", json=request) return response.json() def list_tools(base_url: str) -> dict: """List available MCP tools.""" request = { "jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {} } response = requests.post(f"{base_url}/message", json=request) return response.json() def main(): """Main example.""" base_url = "http://127.0.0.1:8080" print("=== Gurddy HTTP MCP Client Example ===\n") # Example 1: List available tools print("1. Listing available tools...") result = list_tools(base_url) tools = result.get("result", {}).get("tools", []) print(f"Found {len(tools)} tools:") for tool in tools: print(f" - {tool['name']}: {tool['description']}") print() # Example 2: Get package info print("2. Getting package info...") result = call_mcp_tool(base_url, "info") content = result.get("result", {}).get("content", [{}])[0].get("text", "") info = json.loads(content) print(f"Package: {info['name']}") print(f"Description: {info['description'][:100]}...") print() # Example 3: Solve N-Queens problem print("3. Solving 4-Queens problem...") result = call_mcp_tool(base_url, "solve_n_queens", {"n": 4}) content = result.get("result", {}).get("content", [{}])[0].get("text", "") solution = json.loads(content) if solution.get("success"): print(f"Solution found: {solution.get('solution')}") else: print(f"Error: {solution.get('error')}") print() # Example 4: Solve graph coloring print("4. Solving graph coloring problem...") result = call_mcp_tool(base_url, "solve_graph_coloring", { "edges": [[0, 1], [1, 2], [2, 0]], "num_vertices": 3, "max_colors": 3 }) content = result.get("result", {}).get("content", [{}])[0].get("text", "") solution = json.loads(content) if solution.get("success"): print(f"Solution found: {solution.get('solution')}") else: print(f"Error: {solution.get('error')}") print() print("✅ All examples completed!") if __name__ == "__main__": # Note: Make sure the HTTP MCP server is running: # uvicorn mcp_server.mcp_http_server:app --host 127.0.0.1 --port 8080 try: main() except requests.exceptions.ConnectionError: print("❌ Error: Could not connect to HTTP MCP server.") print("Please start the server first:") print(" uvicorn mcp_server.mcp_http_server:app --host 127.0.0.1 --port 8080")

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/novvoo/gurddy-mcp'

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