Skip to main content
Glama

get_person

Retrieve comprehensive team member details including contact information, role, activity timestamps, and custom metadata from Productive.io for specific person identification.

Instructions

Get detailed information about a specific team member/person.

Returns comprehensive person details including:

  • Full name, email, and contact information

  • Role, title, and organizational details

  • Activity timestamps (joined, last seen)

  • Custom fields and additional metadata

  • Avatar and profile information

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
person_idYesThe unique Productive person identifier

Implementation Reference

  • server.py:548-562 (registration)
    MCP tool registration for 'get_person' with input schema (Annotated[int, Field]) and docstring description. Thin wrapper delegating to tools.get_person.
    @mcp.tool async def get_person( ctx: Context, person_id: Annotated[int, Field(description="The unique Productive person identifier")], ) -> Dict[str, Any]: """Get detailed information about a specific team member/person. Returns comprehensive person details including: - Full name, email, and contact information - Role, title, and organizational details - Activity timestamps (joined, last seen) - Custom fields and additional metadata - Avatar and profile information """ return await tools.get_person(ctx, person_id)
  • Core handler implementation: calls client.get_person, applies filter_response, handles ProductiveAPIError and general exceptions with ctx logging.
    async def get_person(ctx: Context, person_id: int) -> ToolResult: """Fetch a single person/team member by ID. Developer notes: - Wraps client.get_person(person_id). - Applies utils.filter_response to sanitize output. - Returns detailed information about a specific team member. """ try: await ctx.info(f"Fetching person with ID: {person_id}") result = await client.get_person(person_id) await ctx.info("Successfully retrieved person") filtered = filter_response(result) return filtered except ProductiveAPIError as e: await _handle_productive_api_error(ctx, e, f"person {person_id}") except Exception as e: await ctx.error(f"Unexpected error fetching person: {str(e)}") raise e
  • Client library helper: makes HTTP GET request to Productive API endpoint /people/{person_id}.
    async def get_person(self, person_id: int) -> Dict[str, Any]: """Get person by ID""" return await self._request("GET", f"/people/{str(person_id)}")

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/druellan/Productive-GET-MCP'

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