Perfly

Let your coding agent keep your work log

You already spend the day working with Claude Code, Codex, or Cursor. At the end of a session, ask it to send a summary to Perfly. It shows you the list first, and Perfly only ever gets short summaries.

Start your 30-day free trialUpdated

What it looks like

You finish a session and type something like this:

You: send today’s work to Perfly

Agent: Here’s what I’d log for Oct 1:

  1. Fixed the retry storm in the webhook worker (branch:fix/webhook-backoff)
  2. Reviewed and merged the rate-limit middleware PR (issue:API-412)
  3. Paired on the Postgres index migration

Send these 3?

You: yes, but drop the third one

The two items land in your Perfly Today page, in their own section so you can tell what came from your agent. You confirm them like any other note, and from there they feed your weekly report.

Why bother?

Your agent saw what you did today better than you’ll remember it on Friday. It knows the branch names, the commit titles, the issue keys. Without that, “what did I even do this week?” turns into an hour of git log archaeology.

Perfly takes those summaries and turns them into a weekly status report, then, months later, into your performance self-review and résumé bullets. The agent keeps track of the details, and your whole job is approving or dropping items.

What gets sent, and what never does

The connection is write-only and narrow on purpose.

Perfly gets Perfly never gets
Short titles, one per thing you did Source code or diffs
An optional one-line note PR or issue bodies
The date and your timezone Full terminal output or logs
Which agent sent it (e.g. agent:claude-code) Secrets, tokens, or API keys
Small references like git_commit:abc123 or issue:ABC-123 Customer data, documents, or attachments

By default the agent shows you a preview and waits for your OK before it writes anything. It only skips that step if you deliberately turn on unattended mode.

The tools can add entries, and that’s all they can do. Your agent has no way to read your Perfly history back out.

If you change your mind, revoke the connection on the Agent setup page in the app and it stops working right away.

Set it up (takes about a minute)

You need a Perfly account first. The trial is free for 30 days.

Claude Code

claude mcp add --transport http perfly https://api.perfly.dev/mcp

Claude Code opens your browser so you can sign in to Perfly and approve the connection. Done.

Codex

Add this to ~/.codex/config.toml:

[mcp_servers.perfly]
url = "https://api.perfly.dev/mcp"

Cursor

Add this to .cursor/mcp.json in your project, or ~/.cursor/mcp.json to use it everywhere:

{
  "mcpServers": {
    "perfly": {
      "url": "https://api.perfly.dev/mcp"
    }
  }
}

Other MCP clients that support remote HTTP servers work the same way: point them at https://api.perfly.dev/mcp.

Working over SSH, in a devcontainer, or in CI?

If your environment can’t open a browser to sign in, create a write-only token on the Agent setup page and pass it as a header:

export PERFLY_INGESTION_TOKEN="pfl_ing_..."
claude mcp add --transport http perfly https://api.perfly.dev/mcp \
  --header "Authorization: Bearer $PERFLY_INGESTION_TOKEN"

Don’t paste the token into a chat with your agent. Set it as an environment variable like above.

Optional: add the Skill

The MCP server is enough on its own. If you also want your agent to know the whole routine (what to summarize, what to leave out, when to ask), install the Perfly Agent Sync skill. After that, “log today’s work” just works.

The four tools your agent gets

Tool What it does
perfly_check_connection Checks that the connection works. Returns no secrets.
perfly_get_ingestion_policy Tells the agent what it’s allowed to send and how to format it.
perfly_preview_work_items Validates a list of items and shows what would be written, without writing anything.
perfly_add_work_items Writes the items you approved into your Today page.

FAQ

Do I need a Perfly account?

Yes. The agent writes into your own log, so it needs somewhere to write. You get 30 days free with everything unlocked, then it’s $6.99 a month.

Will it log things without asking me?

Not by default. The agent previews the list and waits for you. Unattended mode only happens if you set it up that way on purpose.

Which agents work with it?

Anything that speaks MCP and supports remote HTTP servers. We’ve written setup steps for Claude Code, Codex, and Cursor above. If OAuth won’t work where you are, use the token fallback.

What if I don’t use a coding agent?

That’s fine. Write a few lines yourself at the end of the day, or connect GitHub, Jira, Google Calendar, or Notion and let Perfly draft from your activity. Here’s how the weekly report comes together.

Try it on your own week.

30 days free with everything unlocked, then $6.99/month.

Start free trial