Wakatime MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Wakatime MCP or direct API to fetch coding stats, analyze project time, summarize activity, and generate productivity reports through natural language.

Wakatime logoWakatime
Oauth2

Wakatime is an automatic time tracking service for developers, integrating directly with code editors. It helps you understand coding patterns, project focus, and productivity with detailed dashboards.

17 Tools

Try Wakatime now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Wakatime
Try asking
TOOLS

Supported Tools

Every Wakatime action and event your agent gets out of the box.

Get Aggregate Stats

Tool to retrieve aggregate coding statistics across all WakaTime users for a given time range.

Get current user's status bar summary for today

Tool to get current user's coding activity today for displaying in IDE status bars.

List IDE Plugins

Tool to list WakaTime IDE plugins with metadata.

List Goals

Tool to list a user's goals with progress series and metadata.

Get User Insight

Tool to retrieve an insight for a user over a time range.

List Leaders

Tool to list public leaders ranked by coding activity.

List Machine Names

Tool to list a user's machines including last seen time.

Get API Meta Information

Tool to retrieve WakaTime API meta information, including public IP addresses used by WakaTime servers.

Generate WakaTime OAuth authorize URL

Tool to generate OAuth 2.

Get User Details

Tool to get detailed profile information for a WakaTime user by user ID or username.

Get User's Total Time Since Creation

Tool to retrieve total coding time since account creation for a user.

Get User Stats

Tool to retrieve coding statistics for a user over the default time range.

Get User Stats by Range

Tool to retrieve comprehensive coding statistics for a user over a specific time range.

Get User Summaries

Get user's coding activity for a time range as daily summaries.

List Program Languages

Tool to list all verified program languages supported by WakaTime.

List User Projects

List WakaTime projects for a specified user.

List User Agents

Tool to list plugins and editors which have sent data for a specified user.

SETUP GUIDE

Connect Wakatime MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["wakatime"],
  mcp: true,
});
Create a session scoped to Wakatime and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Show my coding activity for this week",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Wakatime request
SETUP GUIDE

Connect Wakatime API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["wakatime"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Wakatime
3

Run Wakatime tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Show my coding activity for this week" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Wakatime tool calls through the session, and print the final answer

Why Use Composio?

AI Native Wakatime Integration

  • Supports both Wakatime MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Wakatime data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Wakatime access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Wakatime
  • Scoped, least privilege access to Wakatime resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

No. Composio provides a managed OAuth app for Wakatime, so you sign in with your normal Wakatime account and approve access. If you later want the consent screen to show your own company name, you can add your own Wakatime OAuth app in the Composio dashboard, and every connection after that uses it.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Wakatime connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a Wakatime account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Wakatime as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones Wakatime lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your Wakatime administrator may need to approve the app first, and you can revoke the access inside Wakatime whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Wakatime connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes Wakatime tokens automatically, so day to day you do nothing. If you revoke access inside Wakatime, or Wakatime invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, and up to 20,000 of those can run through Composio-managed apps like Wakatime. Personal Wakatime use rarely gets near that. Paid plans add higher limits and team features, and Wakatime's own pricing is unaffected.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Wakatime accounts).

With Composio, you connect Wakatime once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Wakatime.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Wakatime tool your agent needs.Free to start.

Start building