Pepys

Pepys est un logiciel de transcription IA à l'utilisation, qui convertit l'audio et la vidéo en transcriptions horodatées avec identification des locuteurs. Il prend en charge la transcription multilingue, la recherche et le chat dans les transcriptions par IA, les résumés, la traduction, les exports, une API développeur et l'accès MCP.

Documentation

pepys-mcp

Transcription for AI agents, by Pepys.

The Pepys transcription MCP server – give any MCP-speaking agent (Claude, ChatGPT, Cursor, Gemini, open-source agents) speaker-labeled, timestamped transcription of audio and video: diarization, SRT/VTT captions, paste-a-link ingestion (YouTube, podcasts, Drive/Dropbox), batch, and word-level export. Pepys never trains on your audio.

The package runs locally over stdio with a Pepys API key. Pepys also hosts a production OAuth connector at https://pepys.co/api/mcp for compatible remote-MCP clients.

Install & configure

Requires Node ≥ 18 and a Pepys API key (pk_live_…) from https://pepys.co/developers. Some capabilities require an account entitlement.

Run it with npx (no global install):

Claude Desktop / Claude Code – claude_desktop_config.json (or claude mcp add):

{
  "mcpServers": {
    "pepys": {
      "command": "npx",
      "args": ["-y", "pepys-mcp"],
      "env": { "PEPYS_API_KEY": "pk_live_your_key_here" }
    }
  }
}

Cursor – ~/.cursor/mcp.json, same shape. Windsurf / other dev agents – point them at npx -y pepys-mcp with PEPYS_API_KEY in the env.

Optional env: PEPYS_API_BASE (defaults to https://pepys.co/api/v1).

Claude Code plugin

This repo also bundles a Claude Code plugin that points at the hosted OAuth connector (no API key needed):

/plugin marketplace add ankurmans/pepys-mcp
/plugin install pepys

The first tool call opens an OAuth sign-in to your Pepys account. See skills/pepys/SKILL.md for what it can do and example prompts.

Tools

ToolWhat it does
transcribeStart a transcription from a url (file / YouTube / podcast / Drive) or a file_ref. Options: diarize (entitlement required), summary, chapters, translate_to, quality, podcast episode_guid/episode_index. Returns { job_id, status }.
get_transcriptionFetch a job by job_id; set wait_ms:25000 to long-poll short clips to completion in one call.
upload_fileUpload local media (a path or bytes_base64) → a file_ref for transcribe.
list_transcriptionsRecent jobs (id, status, title, minutes).
list_podcast_episodesEpisodes of an RSS/Apple/Spotify feed, with episode_guids.
transcribe_podcast_feedBatch a whole feed (or latest N). Account entitlement required.
export_transcriptExport SRT / VTT / TXT / MD / JSON. Word-level timing requires an account entitlement. (DOCX/PDF: use the web app.)
search_transcriptFind a phrase in a long transcript → only the matching timestamped segments (no full-transcript context load).
ask_transcriptionAnswer a question about a transcript with server-verified, citation-backed claims only.
get_credit_balanceRemaining transcription balance and entitlement state.

Also exposes finished transcripts as the resource pepys://transcription/{id} and a transcribe_and_summarize prompt.

Account limits over MCP: 402 returns an insufficient-balance result, while unavailable capabilities return a clear entitlement result and a supported fallback where one exists. The MCP server does not initiate purchases or link to checkout.

Develop

npm install
npm run build      # tsc → dist/ (+ chmod the bin)
npm run smoke      # PEPYS_API_KEY=pk_live_… npm run smoke  – hits the live API to verify your key

Publish

npm run build && npm publish (publishes pepys-mcp). Registry listings (MCP registry, mcp.so, Smithery, PulseMCP, Glama, awesome-mcp-servers) are submitted separately.

About

Built by Pepys. Learn more at pepys.co · MCP server · Developer docs.

License

MIT