get_organization
Retrieve detailed organization information, including optional team and investment data, from RootData MCP Server using a specific organization ID.
Instructions
Obtain VC details according to VC ID.
Args:
org_id: Organization ID
include_team: Whether to include team member information, default is false.
include_investments: Whether it includes investment project information, default is false.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include_investments | No | ||
| include_team | No | ||
| org_id | Yes |
Implementation Reference
- server.py:111-143 (handler)The main handler function for the MCP tool 'get_organization'. It is registered via @mcp.tool() decorator, defines the input schema via parameters and docstring, calls the API helper, handles errors, and returns formatted JSON.@mcp.tool() async def get_organization( org_id: int, include_team: bool = False, include_investments: bool = False, ) -> str: """Obtain VC details according to VC ID. Args: org_id: Organization ID include_team: Whether to include team member information, default is false. include_investments: Whether it includes investment project information, default is false. """ # Prepare request data data = { "org_id": org_id, "include_team": include_team, "include_investments": include_investments, } # Fetch data from the API response = await make_request("get_org", data) # Check if there was an error if "Error" in response: return f"Error: {response['Error']}" # Check if data is found if response.get("result") != 200 or not response.get("data"): return f"No organization found with ID {org_id}." # Return the formatted results return json.dumps(response["data"], indent=2)
- server.py:28-49 (helper)Async helper function used by get_organization (and other tools) to make HTTP POST requests to the RootData API, handling authentication and errors.async def make_request(endpoint: str, data: dict) -> dict[str, any] | None: """Make a request to the RootData API with proper error handling.""" headers = { "Content-Type": "application/json", "language": "en", } if api_key := os.environ.get("ROOTDATA_API_KEY"): headers["apikey"] = api_key else: return {"Error": "ROOTDATA_API_KEY environment variable is not set"} url = f"{ROOTDATA_API_BASE}/{endpoint}" async with httpx.AsyncClient() as client: try: response = await client.post(url, headers=headers, json=data, timeout=30.0) response.raise_for_status() return response.json() except Exception as e: return {"Error": str(e)}