get_response_replies
Get nested replies under a single top-level response. Use with list_responses to walk through the discussion thread.
Instructions
Read-only. Nested replies under a single top-level response. Use list_responses first to get response ids, then call this per response to walk the thread.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| response_id | Yes | ||
| limit | No |
Implementation Reference
- src/medium_ops/client.py:709-711 (handler)Actual implementation of get_response_replies: delegates to list_responses (GraphQL query) since Medium models responses as posts too.
def get_response_replies(self, response_id: str, *, limit: int = 50) -> list[dict[str, Any]]: """Replies under one response. Medium models responses as posts too.""" return self.list_responses(response_id, limit=limit) - src/medium_ops/mcp/server.py:161-182 (schema)Tool registration schema with input_schema requiring response_id and optional limit.
"get_response_replies": { "description": ( "Read-only. Nested replies under a single top-level response. Use " "list_responses first to get response ids, then call this per " "response to walk the thread." ), "input_schema": { "type": "object", "properties": { "response_id": { "type": "string", "description": "Response id from list_responses.", }, "limit": { "type": "integer", "default": 50, "description": "Max replies to return. Default 50.", }, }, "required": ["response_id"], }, }, - src/medium_ops/mcp/server.py:463-464 (registration)Dispatch handler in _dispatch() that calls the client's get_response_replies method.
if name == "get_response_replies": return c.get_response_replies(args["response_id"], limit=args.get("limit", 50)) - src/medium_ops/client.py:853-869 (helper)Helper method walk_responses() that uses get_response_replies to walk one level of replies under each top-level response.
def walk_responses( self, post_id: str, *, skip_user_id: str | None = None, ) -> Iterator[dict[str, Any]]: """Yield every top-level response + one level of replies.""" for r in self.list_responses(post_id): if skip_user_id and (r.get("creator") or {}).get("id") == skip_user_id: continue yield {"depth": 0, "parent_id": None, **r} rid = r.get("id") if rid and (r.get("postResponses") or {}).get("count"): for child in self.get_response_replies(rid): if skip_user_id and (child.get("creator") or {}).get("id") == skip_user_id: continue yield {"depth": 1, "parent_id": rid, **child}