Silvertongue

Famous writing voices for your agent. Find one, read how it was studied, write in it.

我该使用它吗

质量与安全性

A
描述质量
95%
模式完整度
98%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,367token 数(工具定义)
~8.3 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.63%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "silvertongue": {
      "url": "https://mcp.silvertongue.dev/mcp"
    }
  }
}

远程端点

https://mcp.silvertongue.dev/mcpstreamable-http

它能做什么

工具清单

工具(4)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_voices(query, lane, limit)

Search Silvertongue's famous writing voices by name, by lane (tech, celebrity, comedy, characters, classics, politicians), or by what the writing should do: a roast, a launch post, a plain explanation, a speech. Each result gives the voice ID, its lane, what the voice does, what was studied, its strengths and limits, and its status. Omit the query to list every voice, featured voices first.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A person's name, a lane, or what you want the writing to do. Omit to list every voice."
    },
    "lane": {
      "type": "string",
      "enum": [
        "tech",
        "celebrity",
        "comedy",
        "characters",
        "classics",
        "politicians"
      ],
      "description": "Only voices in this lane."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Maximum results to return; defaults to 25."
    }
  },
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "release_id": {
      "type": "string",
      "pattern": "^sha256:[a-f0-9]{64}$",
      "description": "The Provenry release every voice in this answer was read from."
    },
    "total": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "voice_id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
            "description": "The voice's slug and edition digest, such as elon-musk@sha256:…; it pins one exact edition."
          },
          "slug": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9-]{0,60}$"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "lane": {
            "type": "string",
            "enum": [
              "tech",
              "celebrity",
              "comedy",
              "characters",
              "classics",
              "politicians"
            ]
          },
          "featured": {
            "type": "boolean",
            "description": "One of the featured voices that open the site and the README."
          },
          "move": {
            "type": "string",
            "minLength": 1,
            "description": "What the voice does, in one sentence."
          },
          "description": {
            "type": "string",
            "minLength": 20,
            "maxLength": 220
          },
          "scope": {
            "type": "string",
            "minLength": 30,
            "description": "The medium and period studied, and what the profile does not cover."
          },
          "studied": {
            "type": "string",
            "minLength": 1,
            "description": "The sources studied, by kind, and the years they span."
          },
          "strengths": {
            "minItems": 2,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "limitations": {
            "minItems": 2,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "const": "unofficial",
            "description": "unofficial: the person named did not write, review or endorse the profile."
          },
          "page_url": {
            "type": "string",
            "format": "uri"
          },
          "voice_md_url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "voice_id",
          "slug",
          "name",
          "lane",
          "featured",
          "move",
          "description",
          "scope",
          "studied",
          "strengths",
          "limitations",
          "status",
          "page_url",
          "voice_md_url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "release_id",
    "total",
    "truncated",
    "data"
  ],
  "additionalProperties": false
}
🟢get_voice(voice)

Get one voice's full profile: its VOICE.md, every source studied with a note on what it shows, the observations drawn from them, a handwritten example, the licence and the attribution line. Profiles are unofficial studies of public writing technique; the people named did not write or endorse them.

输入模式

{
  "type": "object",
  "properties": {
    "voice": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9-]{0,60}(@sha256:[a-f0-9]{64})?$",
      "description": "A voice slug such as elon-musk for the current edition, or an exact voice ID (slug@sha256:…) from search_voices."
    }
  },
  "required": [
    "voice"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "release_id": {
      "type": "string",
      "pattern": "^sha256:[a-f0-9]{64}$",
      "description": "The Provenry release every voice in this answer was read from."
    },
    "data": {
      "type": "object",
      "properties": {
        "voice_id": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
          "description": "The voice's slug and edition digest, such as elon-musk@sha256:…; it pins one exact edition."
        },
        "slug": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9-]{0,60}$"
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "lane": {
          "type": "string",
          "enum": [
            "tech",
            "celebrity",
            "comedy",
            "characters",
            "classics",
            "politicians"
          ]
        },
        "featured": {
          "type": "boolean",
          "description": "One of the featured voices that open the site and the README."
        },
        "move": {
          "type": "string",
          "minLength": 1,
          "description": "What the voice does, in one sentence."
        },
        "description": {
          "type": "string",
          "minLength": 20,
          "maxLength": 220
        },
        "scope": {
          "type": "string",
          "minLength": 30,
          "description": "The medium and period studied, and what the profile does not cover."
        },
        "studied": {
          "type": "string",
          "minLength": 1,
          "description": "The sources studied, by kind, and the years they span."
        },
        "strengths": {
          "minItems": 2,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "limitations": {
          "minItems": 2,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "const": "unofficial",
          "description": "unofficial: the person named did not write, review or endorse the profile."
        },
        "page_url": {
          "type": "string",
          "format": "uri"
        },
        "voice_md_url": {
          "type": "string",
          "format": "uri"
        },
        "voice_md": {
          "type": "string",
          "minLength": 1,
          "description": "The full VOICE.md: stance, construction, rhythm, detail, formats, restraint, and facts and identity."
        },
        "voice_md_digest": {
          "type": "string",
          "pattern": "^sha256:[a-f0-9]{64}$"
        },
        "sources": {
          "minItems": 3,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-z0-9-]+$"
              },
              "title": {
                "type": "string",
                "minLength": 1
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "published": {
                "type": "string",
                "minLength": 4
              },
              "medium": {
                "type": "string",
                "enum": [
                  "essay",
                  "transcript",
                  "speech",
                  "letter",
                  "post",
                  "fiction",
                  "play",
                  "poem"
                ]
              },
              "note": {
                "type": "string",
                "minLength": 20
              }
            },
            "required": [
              "id",
              "title",
              "url",
              "published",
              "medium",
              "note"
            ],
            "additionalProperties": false
          },
          "description": "Every source studied, with a note on what it shows."
        },
        "observations": {
          "minItems": 3,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "trait": {
                "type": "string",
                "minLength": 10
              },
              "sourceIds": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "trait",
              "sourceIds"
            ],
            "additionalProperties": false
          },
          "description": "Traits drawn from the sources, each citing the source IDs it rests on."
        },
        "illustration": {
          "type": "object",
          "properties": {
            "brief": {
              "type": "string"
            },
            "format": {
              "type": "string",
              "enum": [
                "post",
                "reply",
                "explanation",
                "thread"
              ]
            },
            "text": {
              "type": "string"
            },
            "kind": {
              "type": "string",
              "const": "editorial-illustration"
            }
          },
          "required": [
            "brief",
            "format",
            "text",
            "kind"
          ],
          "additionalProperties": false,
          "description": "A handwritten editorial example of the technique on one brief; never the person's words and never model output."
        },
        "licence": {
          "type": "string",
          "const": "CC-BY-4.0"
        },
        "licence_url": {
          "type": "string",
          "const": "https://creativecommons.org/licenses/by/4.0/"
        },
        "attribution": {
          "type": "string",
          "minLength": 1,
          "description": "The attribution line CC BY 4.0 asks for when reusing it."
        },
        "notice": {
          "type": "string",
          "minLength": 1,
          "description": "What the profile is, and how writing made with it may be presented."
        }
      },
      "required": [
        "voice_id",
        "slug",
        "name",
        "lane",
        "featured",
        "move",
        "description",
        "scope",
        "studied",
        "strengths",
        "limitations",
        "status",
        "page_url",
        "voice_md_url",
        "voice_md",
        "voice_md_digest",
        "sources",
        "observations",
        "illustration",
        "licence",
        "licence_url",
        "attribution",
        "notice"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "release_id",
    "data"
  ],
  "additionalProperties": false
}
🟢get_voice_packet(voice, format, length, platform, intensity, ...)

Get the instructions for writing in one voice with your own model, for one format, length, platform, intensity and edge. The packet carries the full VOICE.md, an exact length target fitted to the platform's limit, and the rules that keep the user's own facts and identity. It opens with a line that replaces any earlier voice, so switching voices mid-conversation is one call.

输入模式

{
  "type": "object",
  "properties": {
    "voice": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9-]{0,60}(@sha256:[a-f0-9]{64})?$",
      "description": "A voice slug such as elon-musk for the current edition, or an exact voice ID (slug@sha256:…) from search_voices."
    },
    "format": {
      "type": "string",
      "enum": [
        "post",
        "reply",
        "explanation",
        "thread"
      ],
      "description": "post (one standalone post), reply (answers the post being replied to), explanation (connected prose) or thread (several posts)."
    },
    "length": {
      "default": "standard",
      "description": "one-liner, short, standard or long; each maps to a measured range for the format.",
      "type": "string",
      "enum": [
        "one-liner",
        "short",
        "standard",
        "long"
      ]
    },
    "platform": {
      "default": "generic",
      "description": "Where the draft will be posted: fits its character limit and whether it takes markdown.",
      "type": "string",
      "enum": [
        "x",
        "threads",
        "bluesky",
        "linkedin",
        "instagram",
        "facebook",
        "reddit",
        "youtube",
        "email",
        "slack",
        "discord",
        "whatsapp",
        "github",
        "generic"
      ]
    },
    "intensity": {
      "default": "full",
      "description": "light lets the user's own phrasing show; full writes completely in the voice.",
      "type": "string",
      "enum": [
        "light",
        "full"
      ]
    },
    "edge": {
      "default": "full",
      "description": "clean removes swearing, sexual and drug references; full keeps the voice's edge, never slurs or racism.",
      "type": "string",
      "enum": [
        "clean",
        "full"
      ]
    }
  },
  "required": [
    "voice",
    "format"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "release_id": {
      "type": "string",
      "pattern": "^sha256:[a-f0-9]{64}$",
      "description": "The Provenry release every voice in this answer was read from."
    },
    "data": {
      "type": "object",
      "properties": {
        "voice_id": {
          "type": "string",
          "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
          "description": "The voice's slug and edition digest, such as elon-musk@sha256:…; it pins one exact edition."
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "format": {
          "type": "string",
          "enum": [
            "post",
            "reply",
            "explanation",
            "thread"
          ]
        },
        "length": {
          "type": "string",
          "enum": [
            "one-liner",
            "short",
            "standard",
            "long"
          ]
        },
        "platform": {
          "type": "string",
          "enum": [
            "x",
            "threads",
            "bluesky",
            "linkedin",
            "instagram",
            "facebook",
            "reddit",
            "youtube",
            "email",
            "slack",
            "discord",
            "whatsapp",
            "github",
            "generic"
          ]
        },
        "intensity": {
          "type": "string",
          "enum": [
            "light",
            "full"
          ]
        },
        "edge": {
          "type": "string",
          "enum": [
            "clean",
            "full"
          ]
        },
        "target": {
          "type": "object",
          "properties": {
            "unit": {
              "type": "string",
              "enum": [
                "characters",
                "words",
                "posts"
              ]
            },
            "min": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "max": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "limit": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ],
              "description": "The platform's character limit per post, if it has one."
            }
          },
          "required": [
            "unit",
            "min",
            "max",
            "limit"
          ],
          "additionalProperties": false,
          "description": "The exact length the instructions ask for."
        },
        "instructions": {
          "type": "string",
          "minLength": 1,
          "description": "Give these to your model with the user's brief, draft or the post they are replying to."
        },
        "notice": {
          "type": "string",
          "minLength": 1,
          "description": "What the profile is, and how writing made with it may be presented."
        }
      },
      "required": [
        "voice_id",
        "name",
        "format",
        "length",
        "platform",
        "intensity",
        "edge",
        "target",
        "instructions",
        "notice"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "release_id",
    "data"
  ],
  "additionalProperties": false
}
🟢get_changes(known)

Compare the voice IDs your agent has cached with the current release: voices added, voices re-studied as a new edition, and voices removed. Pass an empty list to receive every voice as added.

输入模式

{
  "type": "object",
  "properties": {
    "known": {
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
        "description": "The voice's slug and edition digest, such as elon-musk@sha256:…; it pins one exact edition."
      },
      "description": "The exact voice IDs your agent has cached."
    }
  },
  "required": [
    "known"
  ],
  "additionalProperties": false
}

输出模式

{
  "type": "object",
  "properties": {
    "release_id": {
      "type": "string",
      "pattern": "^sha256:[a-f0-9]{64}$",
      "description": "The Provenry release every voice in this answer was read from."
    },
    "added": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "voice_id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
            "description": "The voice's slug and edition digest, such as elon-musk@sha256:…; it pins one exact edition."
          },
          "name": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "voice_id",
          "name"
        ],
        "additionalProperties": false
      }
    },
    "restudied": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "voice_id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
            "description": "The voice's slug and edition digest, such as elon-musk@sha256:…; it pins one exact edition."
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "cached": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9-]{0,60}@sha256:[a-f0-9]{64}$",
            "description": "The edition you hold."
          }
        },
        "required": [
          "voice_id",
          "name",
          "cached"
        ],
        "additionalProperties": false
      }
    },
    "removed": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9-]{0,60}$"
      }
    },
    "unchanged": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "release_id",
    "added",
    "restudied",
    "removed",
    "unchanged"
  ],
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本4 个工具