Ownhand

io.github.jordan-gibbsv0.3.1Updated Oct 2, 2026

Write in the user's own voice, fitted to the occasion. Learns from the text they actually send.

Overview

AI-generated overview

Ownhand is a remote MCP server that rewrites drafts in the user's own writing voice, fitted to the occasion, and learns from feedback.

What it does
Ownhand gives an assistant tools to rewrite a draft so it reads like the user wrote it, fitted to occasions such as a Slack DM, a cold email, or a PR description. It builds a Hand from 5 to 10 samples of the user's own writing, then keeps learning from what the user actually sends. Tools include write, send_feedback, get_hand, create_hand, update_hand, and get_account, plus prompts and resources such as a guide and an occasion table.
When to use it
Worth adding when an assistant drafts messages, emails, proposals, PR descriptions, review comments, docs, or status updates and the user wants them to sound like their own writing rather than generic AI text. It is aimed at people who send a lot of written communication and are willing to give feedback on drafts.
Requirements
A remote streamable HTTP endpoint at Sign-in uses OAuth 2.1 with dynamic client registration in a browser; no API key to copy for most clients, though an API key option is described for scripts and CI. An account is needed, and new accounts start with $1 of free credit.
Before you install
Paid service: $1 free to start, then credit is added and tokens are paid for, about half a cent per rewrite, with no subscription. Writing and learning run on Muse Spark through OpenRouter's contributor tier, so the provider may use everything Ownhand processes (drafts, samples, thread context, feedback) to improve its models; do not use it for text you want kept out of that. Stored data includes account details, Hands, requests, and feedback; thread messages passed as context are not stored…

Installation

In SourceWeft

  1. Open Ownhand in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ownhand": {
      "type": "http",
      "url": "https://ownhand.dev/mcp"
    }
  }
}

README

Ownhand

Agents, writing like you.

Ownhand is a remote MCP server that writes text in your own voice, fitted to where it is going: a Slack DM, a cold email, a PR description. It learns your voice from 5 to 10 things you wrote, then keeps learning from what you actually send.

[Add to Cursor] [Add to VS Code]

  • Endpoint: https://ownhand.dev/mcp (streamable HTTP)
  • Sign-in: OAuth 2.1 with dynamic client registration. Add the URL, sign in in the browser, pick your Hand, click Allow. No API key to copy.
  • New accounts start with $1 of free credit.

Set up with one sentence

Paste this into any agent (Claude Code, Codex, Cursor, Gemini CLI, and others). It adds the server, starts sign-in and sets up your Hand.

text
Fetch and execute the instructions to set me up for Ownhand from https://ownhand.dev/agent-setup/prompt.md. If your web tool can't open it, download it with curl or Invoke-WebRequest.

Install by client

ClientInstallThen
Claude Codeclaude mcp add --transport http --scope user ownhand https://ownhand.dev/mcpRun /mcp, pick ownhand, sign in.
Claude Code plugin/plugin marketplace add jordan-gibbs/ownhand then /plugin install ownhand@ownhandAdds the server and an ownhand skill. Run /mcp to sign in.
Claude (claude.ai, Desktop, mobile)Settings, Connectors, Add custom connector, paste https://ownhand.dev/mcpClick Connect and sign in.
ChatGPTSettings, turn on Developer mode, add a connector with https://ownhand.dev/mcpSign in when asked.
CursorAdd to Cursor above, or examples/cursor.mcp.json in ~/.cursor/mcp.jsonClick Connect next to ownhand.
VS Code (Copilot)Add to VS Code above, or code --add-mcp '{"name":"ownhand","type":"http","url":"https://ownhand.dev/mcp"}'Sign in when asked.
Codex CLIcodex mcp add ownhand --url https://ownhand.dev/mcpcodex mcp login ownhand if no browser opened. Restart Codex if it was running (codex resume --last).
Gemini CLIgemini mcp add --transport http --scope user ownhand https://ownhand.dev/mcp, or gemini extensions install https://github.com/jordan-gibbs/ownhand/mcp auth ownhand
Windsurfexamples/windsurf.mcp_config.json in mcp_config.json (uses serverUrl)Sign in when asked.
Zedexamples/zed.settings.json in your Zed settingsSign in when asked.
Goosegoose configure, add a remote extension (streamable HTTP) with the URLSign in when asked.
Clineexamples/cline_mcp_settings.json (uses "type": "streamableHttp")Click to sign in.
Anything elseA remote streamable HTTP server named ownhand at https://ownhand.dev/mcpSign in when asked.

Raw install deeplinks, if you want to open them yourself:

text
cursor://anysphere.cursor-deeplink/mcp/install?name=ownhand&config=eyJ1cmwiOiJodHRwczovL293bmhhbmQuZGV2L21jcCJ9vscode:mcp/install?%7B%22name%22%3A%22ownhand%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fownhand.dev%2Fmcp%22%7Dvscode-insiders:mcp/install?%7B%22name%22%3A%22ownhand%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fownhand.dev%2Fmcp%22%7Dgoose://extension?url=https%3A%2F%2Fownhand.dev%2Fmcp&type=streamable_http&id=ownhand&name=Ownhand&description=Write+in+your+own+voice

More configs, including VS Code (.vscode/mcp.json) and Codex (config.toml), are in examples/. The live version of this table is at https://ownhand.dev/connect.

Scripts and CI

For clients without browser sign-in, an API key option is described in the docs: https://ownhand.dev/docs#connect

First run

Once connected, say: "Set up my Ownhand Hand." The agent asks for 5 to 10 things you wrote yourself (Slack messages, emails, PR descriptions) and how you'd describe your writing, then calls create_hand. Clients that show MCP prompts also list set_up_my_hand.

To make your agent use Ownhand without being asked, paste AGENTS.md into your CLAUDE.md, AGENTS.md, .cursorrules or custom instructions.

Tools

ToolWhat it does
writeRewrites a draft so it reads like you wrote it, fitted to the occasion. Keeps every fact. Returns the text and a request_id.
send_feedbackReports what you did with a draft (approved, edited with the exact sent text, or rejected) so your Hand learns.
get_handLists your Hands, or shows what one has learned: style card, rules, sample counts.
create_handCreates a Hand from texts you wrote yourself.
update_handAdds samples, sets how you describe your writing, or pins, rejects or activates a learned rule.
get_accountShows your account, credit balance, recent charges and usage.

Prompts: set_up_my_hand, teach_my_voice, reply_to_thread, draft_email. Resources: ownhand://guide (the agent playbook), ownhand://occasions (the occasion table).

Occasions: chat_dm, chat_channel, email_internal, email_formal, email_cold, email_warm, proposal_cold, proposal_warm, pr_description, review_comment, docs, status_update.

How learning works

  1. Your agent calls write and shows you the draft. Nothing is sent without your OK.
  2. You send it as is, edit it, or drop it.
  3. Your agent calls send_feedback with exactly the text you sent.
  4. Ownhand compares the draft with what you sent and updates your Hand. A reason you state becomes a rule right away. A pattern it only observes has to show up twice. Learning runs in the background, and the Hand's version goes up when it finishes.

You can pin or reject any learned rule with update_hand. Learning from your feedback changes only your own Hand.

Pricing

$1 free to start. Then you add credit and pay for the tokens you use, about half a cent per rewrite. No subscription and no monthly fee. Details: https://ownhand.dev/pricing.

Privacy

  • Stored: your account details, your Hands (samples, style card, learned rules), your requests and the feedback you send.
  • Not stored: thread messages your agent passes as context. They are used for that one request.
  • Not sold, not shared for advertising, and not used to train our own models.
  • Writing and learning run on Muse Spark through OpenRouter's contributor tier, so the provider may use everything Ownhand processes (drafts, samples, thread context, feedback) to improve its models. Don't use Ownhand for text you want kept out of that.
  • You can delete a Hand or revoke a key at any time.

Read the full policy: https://ownhand.dev/privacy.

Docs

What's in this repo

  • server.json: the entry for the official MCP Registry
  • .claude-plugin/, .mcp.json, skills/ownhand/: a Claude Code plugin and marketplace
  • gemini-extension.json, GEMINI.md: a Gemini CLI extension
  • AGENTS.md: the instruction block for any agent
  • examples/: client configs

License

The configs and docs in this repo are MIT licensed (see LICENSE). The Ownhand service itself is proprietary and run by Thalient Labs.

Contact: [email protected]

Source: README.md at commit b6a8204

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.3.1LatestOct 2, 2026