Skip to main content
Glama

getUserProfile

Retrieve user profile information from Fitbit data to access health metrics and personal details for analysis.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function for the 'getUserProfile' tool, registered inline with server.tool. It fetches the user profile from Fitbit API using makeApiRequest and returns formatted JSON or error.
    server.tool("getUserProfile", {}, async () => { try { const data = await makeApiRequest("/user/-/profile.json"); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } });
  • Helper function used by getUserProfile to make authenticated API requests to Fitbit endpoints.
    async function makeApiRequest(endpoint: string): Promise<any> { try { const url = `${baseUrl}${endpoint}`; const response = await fetch(url, { headers: { Authorization: `Bearer ${accessToken}`, Accept: "application/json", }, }); if (!response.ok) { throw new Error( `Fitbit API error: ${response.status} ${response.statusText}` ); } return await response.json(); } catch (error) { console.error(`Error making request to ${endpoint}:`, error); throw error; } }
  • src/server.ts:75-99 (registration)
    Registration of the 'getUserProfile' tool using server.tool within the initServer function.
    server.tool("getUserProfile", {}, async () => { try { const data = await makeApiRequest("/user/-/profile.json"); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } });
  • Empty input schema for the getUserProfile tool (no parameters required).
    server.tool("getUserProfile", {}, async () => {

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/NitayRabi/fitbit-mcp'

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