Parrotscribe Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Parrotscribe Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
[!WARNING] This MCP server is deprecated. It will continue to work for users who stay on Parrot Scribe versions before0.4.0, but it will not work once you upgrade to0.4.0or newer. Use the integrated MCP server built into Parrot Scribe instead.
An MCP (Model Context Protocol) server that enables AI agents to interact with the ParrotScribe transcription service on macOS.
If you are using Opencode, I recommend that you use the pre-configured agent called Lex. Lex transforms passive transcription into an active research and navigation tool.
< 0.4.0 and this MCP server is configured in your environment.agent/lex.md from this repository into your local .opencode/agent/ directory.ParrotScribe captures real-time audio from your microphone and system audio, transcribes it using Whisper, and this MCP server exposes that transcription data to AI agents. This enables workflows like:
pscribe CLI must be available in your PATH (it will be if ParrotScribe is installed correctly)0.4.0 is released, this package is unsupported)If you are using Parrot Scribe 0.4.0 (or newer), do not install this package. Use the app's integrated MCP server.
No installation needed. Configure your AI agent to run:
npx @johanthoren/parrotscribe-mcp-servernpm install -g @johanthoren/parrotscribe-mcp-serverThen run with:
parrotscribe-mcp-servergit clone https://github.com/johanthoren/parrotscribe-mcp.git
cd parrotscribe-mcp
npm install
npm run build
node dist/index.jsAdd to your ~/.config/opencode/opencode.jsonc:
{
"mcp": {
"parrotscribe": {
"type": "local",
"command": ["npx", "@johanthoren/parrotscribe-mcp-server"]
}
}
}Add to your project's .mcp.json or global MCP config:
{
"mcpServers": {
"parrotscribe": {
"command": "npx",
"args": ["@johanthoren/parrotscribe-mcp-server"]
}
}
}Add to your claude_desktop_config.json (typically at ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"parrotscribe": {
"command": "npx",
"args": ["@johanthoren/parrotscribe-mcp-server"]
}
}
}| Variable | Description | Default |
|---|---|---|
PSCRIBE_PATH | Path to the pscribe executable. Only needed if pscribe is not in your PATH (edge case). | pscribe |
| Tool | Description |
|---|---|
pscribe_start | Start real-time audio transcription |
pscribe_stop | Stop/pause the current transcription |
pscribe_status | Get service status, session ID, duration |
pscribe_tail | Get recent transcript entries with filtering |
pscribe_cat | Display complete sessions with time-based filtering |
pscribe_grep | Search for patterns across transcript sessions |
pscribe_sessions | List past transcription sessions |
pscribe_new | Force start a new session |
| Parameter | Type | Description |
|---|---|---|
n | number | Number of entries to return (default: 10) |
since_line | number | Start from line N (for polling) |
status | string | Filter: all, confirmed, unconfirmed, translated, speech |
session_id | string | Read from a specific session |
| Parameter | Type | Description |
|---|---|---|
session_ids | string[] | Session IDs to display (from pscribe_sessions) |
since | string | Show sessions starting after this ISO8601 timestamp |
until | string | Show sessions starting before this ISO8601 timestamp |
last | number | Show last N sessions |
status | string | Filter: all, confirmed, unconfirmed, speech |
Use pscribe_cat for historical queries like "summarize yesterday's standup" - the AI converts natural language time references to ISO8601.
| Parameter | Type | Description |
|---|---|---|
pattern | string | The pattern to search for (regex supported) - required |
since | string | Only search sessions starting after this ISO8601 timestamp |
until | string | Only search sessions starting before this ISO8601 timestamp |
status | string | Filter: all, confirmed, unconfirmed, speech |
ignore_case | boolean | Case-insensitive search |
count | boolean | Show match count per session instead of matches |
after_context | number | Show N lines after each match (-A) |
before_context | number | Show N lines before each match (-B) |
context | number | Show N lines before and after each match (-C) |
Use pscribe_grep for queries like "did anyone mention deployment last week?" or "find all references to the API".
The server returns transcript data in TOON format, a token-efficient format designed for LLM consumption:
transcript{timestamp,source,status,segment,confidence,duration,language,text}:
2024-01-15T14:30:00+01:00,M,C,1,0.95,2.5,en,Hello world
2024-01-15T14:30:05+01:00,S,C,2,0.92,3.1,sv,Hej dar| Field | Description |
|---|---|
timestamp | ISO8601 with timezone |
source | M (microphone), S (system audio), E (events) |
status | C (confirmed), U (unconfirmed), T (translated), N (no_speech) |
segment | Incrementing segment number |
confidence | Whisper confidence score (0.0-1.0) |
duration | Segment duration in seconds |
language | ISO 639-1 code (e.g., en, sv, de) |
text | Transcribed content |
For real-time monitoring, agents should:
pscribe_status to ensure a session is activepscribe_tail with n: 10 to get initial contextlast_line number from the response metadatapscribe_tail with since_line: last_line + 1status: "confirmed" to focus on finalized transcriptionsSee the examples/ directory for ready-to-use prompts:
pscribe CLI to the local AI agent via stdio# Install dependencies
npm install
# Development mode (auto-reload)
npm run dev
# Build
npm run build
# Test with MCP inspector
npm run inspectMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.