TrueVoice MCP
TrueVoice MCP
用于消除文本中 AI 味(AI slop)的工具
基于模型上下文协议(Model Context Protocol)的服务器,提供检测和消除文本中 AI 味(AI slop)的工具。其依据来自 NLP 写作者和哲学家对 AI 生成文本模式的专业标注。
什么是 AI 味(AI Slop)?
低质量的 AI 文本,其特征包括:
信息效用:内容密度低、无关填充、事实错误
风格质量:结构重复、企业套话(如"delve into"、"leverage")
结构:过度冗长、连贯性差、模式化表达
研究基础:arXiv:2509.19163v1
Related MCP server: Natural Voice MCP
快速开始
一键安装
访问 truevoice-mcp.kushagragolash.dev 获取适用于 Cursor、VS Code、Claude Code 和 Claude Desktop 的一键安装按钮。
Claude Code
claude mcp add --transport http truevoice https://truevoice-mcp.kushagragolash.dev/api/mcpClaude Desktop
打开 设置 > 连接器 > 添加自定义服务器,粘贴:
https://truevoice-mcp.kushagragolash.dev/api/mcp任意 MCP 客户端
添加到你的 MCP 配置中:
{
"mcpServers": {
"truevoice": {
"url": "https://truevoice-mcp.kushagragolash.dev/api/mcp"
}
}
}本地开发(stdio)
{
"mcpServers": {
"truevoice": {
"command": "node",
"args": ["/path/to/truevoice-mcp/dist/index.js"]
}
}
}完整的本地配置说明请参阅开发部分。
可用工具
get_human_writing_rules
获取针对你的场景量身定制的全面反 AI 味写作规则。
参数:
context(可选):写作类型(例如"技术博客"、"邮件"、"文档")
示例:
Get writing rules for a technical blog postcheck_for_slop
从三个维度分析文本中的 AI 味指标。
参数:
text(必填):要分析的文本
示例:
Check this for slop: "In today's digital landscape, it's important to
note that we should leverage cutting-edge solutions to deliver a
seamless user experience..."返回结果:
⚠️ AI Slop Analysis
- Overused Phrases: Found AI clichés - landscape, it's important to note,
leverage, cutting-edge, seamless
- Verbosity: Overly long sentences (avg 28.5 words)
- Word Complexity: Unnecessarily formal - "utilize" → "use"
Recommendation: Revise to be more concise, direct, and natural.get_slop_examples
获取应避免的 AI 味模式分类示例。
参数:
category(可选):"phrases"、"structure"、"tone"或"all"
示例:
Show me phrase examples to avoid可检测的内容
套话短语
"delve into" → "explore"
"leverage" → "use"
"it's important to note" → 直接陈述即可
"robust"、"seamless"、"holistic"、"paradigm shift"
"cutting-edge"、"game changer"、"synergy"
结构问题
句子开头重复(同一单词出现 3 次以上)
过多的项目符号和列表
在非正式场景中使用过于正式的语言
长句(平均超过 25 个单词)
词汇密度低(独特单词占比低于 40%)
基于研究的评分
文本从三个加权维度进行分析:
信息效用(β=0.06)— 内容密度、相关性
风格质量(β=0.05)— 重复性、连贯性、自然度
结构(β=0.05)— 冗长程度、偏差、流畅度
开发
环境要求
Node.js 18+
TypeScript 5.6+
npm 或 pnpm
本地配置
git clone https://github.com/howdoiusekeyboard/truevoice-mcp
cd truevoice-mcp
npm install
npm run build可用脚本
npm run build— 编译 TypeScriptnpm run dev— 开发监视模式npm start— 本地运行 stdio 服务器npx ultracite check— 代码检查npx ultracite fix— 自动修复问题
本地测试
测试 stdio 传输(Claude Desktop):
npm run build
npm start
# Server runs on stdio, test with MCP inspector:
npx @modelcontextprotocol/inspector node dist/index.js测试 HTTP 传输(Cursor/Web):
vercel dev
# Visit http://localhost:3000架构
项目结构
truevoice-mcp/
├── api/ # Vercel serverless functions
│ ├── mcp.ts # HTTP MCP endpoint (Streamable HTTP)
│ ├── index.ts # API info page
│ ├── check.ts # Slop detection API
│ ├── rules.ts # Rules API
│ └── examples.ts # Examples API
├── src/ # Core MCP server
│ ├── index.ts # stdio transport (Claude Desktop)
│ └── rules.ts # Anti-slop taxonomy
├── public/
│ └── index.html # Homepage/docs
└── dist/ # Compiled output双传输支持
stdio 传输(本地/Claude Desktop):
直接进程通信
低延迟、持久连接
最适合本地开发
入口:
dist/index.js
可流式 HTTP 传输(Vercel/Web):
仅 POST 模式(MCP 2024-11-05 规范)
完全无状态,针对 serverless 优化
无 SSE(受 Vercel 60 秒超时限制)
按需自动扩展
端点:
/api/mcp
技术栈
运行时:TypeScript 5.6+,使用 Node.js ESM 模块
验证:Zod schema 确保类型安全
代码检查:Ultracite(基于 Biome)
MCP SDK:
@modelcontextprotocol/sdkv1.19+部署:Vercel serverless functions
自行部署
一键部署
手动部署
npm install
vercel deploy --prod你的 MCP 端点:https://your-project.vercel.app/api/mcp
环境变量
无需任何环境变量!服务器开箱即用。
使用示例
在 Claude Desktop 中
"Check my email draft for AI slop patterns"
"Get writing rules for professional documentation"
"Show me examples of phrases to avoid in blog posts"作为写作助手
"Analyze this paragraph and suggest improvements:
[paste text]"
"Get human writing rules for casual Twitter posts,
then help me write a thread"API 集成
# Check text for slop
curl -X POST https://truevoice-mcp.kushagragolash.dev/api/check \
-H "Content-Type: application/json" \
-d '{"text": "Your text here"}'
# Get writing rules
curl https://truevoice-mcp.kushagragolash.dev/api/rules?context=email研究基础
基于以下领域的专家标注:
NLP 研究者和写作者
专业哲学家
行业内容创作者
主要发现:
相关性(β=0.06)— 最重要的 AI 味指标
内容密度(β=0.05)— 实质性内容与填充内容
自然语气(β=0.05)— 对话式与机械式表达
人类感知相关性:AUROC 0.52-0.55
完整论文:arXiv:2509.19163
文档
Claude Desktop 配置指南 — 详细配置说明
API 参考 — REST API 端点
MCP 规范 — 协议文档
贡献
欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。
快速检查清单:
提交前运行
npx ultracite fix保持更改简单且聚焦
为新模式添加示例
如有需要请更新文档
许可证
MIT 许可证 — 详情请参阅 LICENSE
在线演示: truevoice-mcp.kushagragolash.dev
MCP 端点: https://truevoice-mcp.kushagragolash.dev/api/mcp
Available Tools
3 toolscheck_for_slopCheck for AI SlopA
Analyze text for AI slop indicators across three categories: Information Utility, Style Quality, and Structure. Returns specific patterns to avoid.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to analyze for AI slop indicators |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It states that it analyzes text and returns patterns, which is basic but does not mention any side effects, prerequisites, error conditions, or performance characteristics. For a read-only analysis tool this is adequate, but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancies. The core purpose and categories are front-loaded, and the return value is clarified in the second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the essential purpose. However, it does not describe the structure of the returned patterns, any limitations (e.g., language support), or how to interpret results, leaving an agent with only partial context for effective invocation and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the single 'text' parameter has a description). The description adds that it analyzes text, which aligns with the schema but provides no additional nuance about format, encoding, or expected content beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (analyze) and resource (text for AI slop indicators), and explicitly lists three analysis categories. It distinguishes functionally from siblings (this analyzes, others provide rules/examples), though it doesn't name them directly, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative routing is provided. The purpose implies this tool is for analyzing text, while get_human_writing_rules and get_slop_examples would likely be used for reference materials, but the description does not state this or offer any conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_human_writing_rulesGet Human Writing RulesA
Get comprehensive rules for writing like a human and avoiding AI slop. Use these rules as system-level instructions for any text generation task.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional: The context or type of writing (e.g., 'technical documentation', 'casual email', 'blog post') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys what the tool returns (rules) and how to apply them (as system-level instructions), which is reasonably transparent for a read-only retrieval tool. It doesn't disclose output scale, format, or how 'comprehensive' the rules are, but the essential behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the purpose front-loaded before the usage direction. The first sentence delivers the core function and the second adds practical deployment guidance. No filler or repetition; appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity — one optional parameter, zero required parameters, no output schema, no nested objects — the description covers the essentials: what the tool does and how to apply its results. The context parameter semantics are already in the schema. Nothing critical an agent needs to invoke it successfully is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the single optional 'context' parameter is fully documented in the schema with an example ('technical documentation', 'casual email'), so the schema already does the heavy lifting. The description adds nothing about the parameter beyond what the schema provides, meriting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get comprehensive rules for writing like a human and avoiding AI slop.' This is clearly a rules-retrieval tool, and it is reasonably distinguishable from siblings check_for_slop (detection) and get_slop_examples (examples). However, it doesn't explicitly name siblings or state how it relates to them, so differentiation is implicit rather than direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence provides useful application guidance: 'Use these rules as system-level instructions for any text generation task.' This tells the agent when and how to deploy the output. However, it offers no exclusions or alternatives — it doesn't say when to prefer get_slop_examples or check_for_slop instead, leaving some selection burden on the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_slop_examplesGet Slop ExamplesB
Get examples of common AI slop phrases and patterns to avoid, categorized by type.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | The category of slop examples to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries full responsibility for behavioral disclosure. It only states the core function without mentioning any restrictions, requirements, or side effects. There's no indication of output format, whether it returns a list, or any edge cases, providing minimal transparency beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that clearly states the action and resource. No wasted words or redundancy, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description provides a basic understanding of its purpose. However, it doesn't specify the return format or any example output, which might be expected for a retrieval tool. Given the low complexity, it's adequate but leaves some room for more clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the parameter description, including an enum for category with clear descriptions. The description adds 'categorized by type' which aligns with the category parameter, but offers no additional semantic value beyond what the schema already provides. Baseline 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches examples of common AI slop phrases and patterns, categorized by type. It specifies the verb 'get' and resource 'examples of slop phrases and patterns', making its purpose distinct from siblings like get_human_writing_rules and check_for_slop, though it doesn't explicitly name them as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the sibling tools. It doesn't mention any exclusions, prerequisites, or alternative conditions, leaving the agent to infer that it's for retrieving examples. This is a significant gap given the tool's siblings have overlapping domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
check_for_slop - First observed
get_human_writing_rules - First observed
get_slop_examples
TDQS
Each tool has a distinct purpose: retrieving rules, analyzing text for slop, and providing examples. There is no meaningful overlap between them, and their descriptions clearly separate the reference/instructional functions from the analysis function.
Tool names follow a clear and predictable lowercase snake_case pattern, mostly using get_ for reference tools and check_for_ for the analysis tool. Minor inconsistency exists between get_ and check_for_ as verb styles, but the naming remains readable and consistent overall.
Three tools is a well-scoped count for a focused MCP server centered on human writing rules and AI slop detection. Each tool serves a distinct and necessary role without bloat or redundancy.
The tool surface covers the core domain well: users can learn the rules, see examples, and check their text for slop. A minor gap is the absence of a rewrite/improvement tool, but this is not a significant failure for the apparent advisory/analysis purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Prose linter + AI-slop detector: weasel words, passive voice, hedging, and research-cited AI tells
Find AI-isms with evidence and fingerprint a writing voice from samples. 3 of 5 free.
Loads your personal writing voice into any AI and scores how closely a draft matches it.
Free mechanical checks for AI text: unnamed counts, dangling references, bad arithmetic, misquotes.
Related MCP Servers
- AlicenseCqualityDmaintenanceHelps refine AI-generated content to sound more natural and human-like. Built with advanced AI detection and text enhancement capabilities.15059MIT
- AlicenseNot gradedqualityNot gradedmaintenanceProvides tools and resources to detect AI-generated writing patterns and refine text for more authentic, human-like communication. It enables users to analyze phrasing via a scoring system and apply conversational guides tailored for platforms like Twitter and LinkedIn.1-
- FlicenseNot gradedqualityCmaintenanceDetects and removes 24 types of AI writing patterns, offering dual-mode humanization (rule-based and LLM-enhaced) with tools for detection, style transfer, scoring, and batch processing.-
- FlicenseNot gradedqualityCmaintenanceDetects AI-generated content by analyzing 24 writing patterns, provides style analysis, plagiarism check, text humanization suggestions, and offers batch detection and version comparison tools.-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/howdoiusekeyboard/TrueVoice-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server