mac-say-mcp: Cursor rule for Cursor

.cursorrules

cursorrules is a cursor rule for Cursor from viktor-silakov/mac-say-mcp. It costs 1,247 tokens per session, scanned A, original, MIT.

Development rules for an MCP text-to-speech server that uses macOS’s built-in say command. The server works only on macOS and offers speech, audio-file, voice-listing, and system-information tools.

In plain words
What is it for?
Developing and manually testing the server’s speech and audio-generation tools with different voices, rates, and inputs.
Why use it?
It defines how to test speech output, generated audio, error cases, documentation, and macOS compatibility after changes.

Cursor rule for Cursor

Written for Cursor: installed under .cursor/. Also seen: mentions Cursor.

This is viktor-silakov/mac-say-mcp's own configuration. It tells Cursor how to work on mac-say-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything mac-say-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to viktor-silakov/mac-say-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/viktor-silakov/mac-say-mcp/main/.cursorrules
Clone the repo
git clone --depth 1 https://github.com/viktor-silakov/mac-say-mcp

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cursorrules

README.md
[![agentmods](https://agentmods.dev/badge/rules/viktor-silakov/mac-say-mcp/cursorrules/github.svg)](https://agentmods.dev/rules/viktor-silakov/mac-say-mcp/cursorrules)
Your own site
<a href="https://agentmods.dev/rules/viktor-silakov/mac-say-mcp/cursorrules"><img src="https://agentmods.dev/badge/rules/viktor-silakov/mac-say-mcp/cursorrules/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cursorrules

Your own site · 80×15
<a href="https://agentmods.dev/rules/viktor-silakov/mac-say-mcp/cursorrules"><img src="https://agentmods.dev/badge/rules/viktor-silakov/mac-say-mcp/cursorrules.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,247 This file is loaded in full into every session.
When invoked 1,247 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.01247 $0.01247
Opus 5.5 $0.00499 $0.00499
Sonnet 5.5 $0.00249 $0.00249
Haiku 4.5 $0.00125 $0.00125

Measured 1mo ago against content hash ebc54afafc87, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cursorrules scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursorrules · 144 lines

How it starts

The opening of the file, as written. The whole thing — 144 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Cursor IDE Rules for mac-say-mcp Development

Project Context

This is a Model Context Protocol (MCP) server for text-to-speech using macOS say command. It provides TTS capabilities through MCP tools for various clients (Claude, VS Code, etc.). macOS ONLY - requires the say command.

Development Workflow Rules

🧪 Testing Requirements

  • ALWAYS test manually after ANY code change with real MCP clients
  • Test ALL TTS tools (speak, save_audio, list_voices, voice_demo, system_info)
  • Test with different voices, rates, and text inputs
  • Test audio file generation and verify file creation
  • Test error cases (invalid voices, long text, special characters)
  • Clean up generated audio files after testing

📝 Documentation Requirements

  • Update README.md for every significant change
  • Document new MCP tools with proper JSON schema and examples
  • Document macOS compatibility requirements
  • Include tool usage examples in JSON format
  • Update voice support information when applicable
  • All documentation and comments must be in English

🔧 Code Quality Rules

  • Follow ES6+ module syntax (import/export)
  • Handle error cases gracefully with proper error messages
  • Use meaningful variable and function names
  • Add JSDoc comments for complex functions
  • Validate MCP tool parameters before processing
  • Ensure consistent async/await patterns
  • All code comments must be in English

📁 File Organization

  • Main server code in index.js (entry point)
  • Audio files generated in audio/ directory
  • Documentation in README.md and AI_MANUAL_TESTING_AGENT.md
  • Keep structure simple - single file architecture for now
  • Audio directory auto-created if missing

🚀 Enhancement Process

  1. Identify TTS requirement clearly in documentation
  2. Test with say command manually first
  3. Implement MCP tool with proper schema validation
  4. Test with MCP client (Claude Desktop, VS Code MCP)
  5. Update README.md with tool examples
  6. Test edge cases (long text, special chars, invalid params)

Read the full file on GitHub · 144 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 144 lines · 1,247 tokens per session scan A ebc54afafc87

Subscribe to this mod's changes

cursorrules is a cursor rule published in the GitHub repository viktor-silakov/mac-say-mcp (1 stars, last pushed 1y ago), licensed MIT. It adds 1,247 tokens to every session, about $0.0050 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.