Satori Syntax MCP Server
## さとり構文 MCP
[](https://badge.fury.io/js/@shuhary%2Fsatorify-mcp)
[](https://opensource.org/licenses/MIT)
https://github.com/user-attachments/assets/64a88176-9852-4ffa-857e-8d9960f8c107
X(旧Twitter)投稿用の効果的なさとり構文を生成するModel Context Protocol (MCP) サーバーです。140文字以内で読者の心を掴む構文を5つのパターンから選択して生成できます。
### 主な機能
- **高速で軽量**。構造化されたテンプレートベースの生成で瞬時に構文を作成
- **LLMフレンドリー**。MCPプロトコルによる構造化されたデータ操作
- **決定論的な構文生成**。曖昧さを排除した明確なパターンベースのアプローチ
### 動作要件
- Node.js 18以降
- VS Code、Cursor、Windsurf、Claude Desktop、Goose、またはその他のMCPクライアント
### さとり構文タイプ
- **A**: 基本形 - 万能でどんな状況にも適応可能な構文
- **B**: 常識の否定 - 常識や既成概念を覆すことで読者の関心を引きつける
- **C**: 一般的なニュース - ニュースを軸にしつつ、読者の興味を引く構文
- **D**: 衝撃的なニュース - 驚きや感動を伴う内容で感情を動かす
- **E**: ステップ紹介 - 具体的な手順を示して行動を促す構文
### はじめに
まず、お使いのクライアントでSatori Syntax MCPサーバーをインストールしてください。
**標準設定** ほとんどのツールで動作します:
```js
{
"mcpServers": {
"generate-satorify": {
"command": "npx",
"args": [
"@shuhary/satorify-mcp@latest"
]
}
}
}
```
<details>
<summary>Claude Code</summary>
Claude Code CLIを使用してSatori Syntax MCPサーバーを追加:
```bash
claude mcp add generate-satorify npx @shuhary/satorify-mcp@latest
```
</details>
<details>
<summary>Claude Desktop</summary>
MCPインストール[ガイド](https://modelcontextprotocol.io/quickstart/user)に従い、上記の標準設定を使用してください。
</details>
<details>
<summary>Cursor</summary>
`Cursor Settings` → `MCP` → `Add new MCP Server`に移動。お好みの名前を付け、コマンド`npx @shuhary/satorify-mcp`で`command`タイプを使用してください。`Edit`をクリックして設定を確認したり、コマンドライン引数を追加することもできます。
</details>
<details>
<summary>Goose</summary>
`Advanced settings` → `Extensions` → `Add custom extension`に移動。お好みの名前を付け、タイプ`STDIO`を使用し、`command`を`npx @shuhary/satorify-mcp`に設定してください。"Add Extension"をクリックします。
</details>
<details>
<summary>VS Code</summary>
MCPインストール[ガイド](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server)に従い、上記の標準設定を使用してください。VS Code CLIを使用してSatori Syntax MCPサーバーをインストールすることもできます:
```bash
# VS Code用
code --add-mcp '{"name":"generate-satorify","command":"npx","args":["@shuhary/satorify-mcp@latest"]}'
```
インストール後、VS CodeのGitHub Copilotエージェントでサーバーが利用可能になります。
</details>
<details>
<summary>Windsurf</summary>
Windsurf MCP[ドキュメント](https://docs.windsurf.com/windsurf/cascade/mcp)に従い、上記の標準設定を使用してください。
</details>
### ツール
<details>
<summary><b>さとり構文生成</b></summary>
- **generate_satori_syntax**
- タイトル: さとり構文生成
- 説明: 指定されたパラメータに基づいて140文字以内のさとり構文を生成
- パラメータ:
- `structure_type` (string, 必須): 構文タイプ(A/B/C/D/E)
- `target_audience` (string, 必須): ターゲット層
- `message_content` (string, 必須): 伝えたいメッセージの内容
- `expected_action` (string, 必須): 期待する行動
- `news_content` (string, オプション): ニュース内容(構文CとDで使用)
- 読み取り専用: **false**
- **get_satori_structure_types**
- タイトル: 構文タイプ一覧取得
- 説明: 利用可能なさとり構文タイプの一覧を取得
- パラメータ: なし
- 読み取り専用: **true**
</details>
### 設定
Satori Syntax MCPサーバーは以下の引数をサポートしています。これらは上記のJSON設定で`"args"`リストの一部として提供できます:
```
> npx @shuhary/satorify-mcp@latest --help
--output-dir <path> 出力ファイル用のディレクトリパス
--config <path> 設定ファイルのパス
--help ヘルプを表示
```
### 設定ファイル
Satori Syntax MCPサーバーはJSON設定ファイルを使用して設定できます。`--config`コマンドラインオプションを使用して設定ファイルを指定できます:
```bash
npx @shuhary/satorify-mcp@latest --config path/to/config.json
```
<details>
<summary>設定ファイルスキーマ</summary>
```typescript
{
// 出力ファイル用のディレクトリ
outputDir?: string;
// さとり構文生成の設定
generation?: {
// デフォルトの文字数制限(デフォルト: 140)
maxLength?: number;
// デフォルトの構文タイプ
defaultStructureType?: 'A' | 'B' | 'C' | 'D' | 'E';
};
}
```
</details>
## 開発
### ソースからビルド
```bash
git clone https://github.com/nogu66/satorify-mcp.git
cd satorify-mcp
npm install
npm run build
```
### 開発環境のセットアップ
```bash
npm install
npm run dev # ウォッチモードでの開発
```
### テスト実行
```bash
npm test
```
### ディレクトリ構造
```
src/
├── index.ts # MCPサーバーのメインファイル
├── types.ts # 型定義
└── satori-templates.ts # さとり構文テンプレート
```
## 貢献
プルリクエストやイシューの報告を歓迎します。
## ライセンス
MIT License
## 注意事項
- このツールはさとり構文のプロンプトを生成します。実際の構文生成にはLLMが必要です。
- さとり構文生成は、使用しているLLM(Claude、ChatGPT、Geminiなど)で実行してください。
- さとり構文の使用には十分注意し、適切なターゲットと内容で使用してください。
- X(Twitter)の利用規約に従って使用してください。
- 生成されたコンテンツの品質や適切性についてご自身で確認してください。
`
## サポート
問題が発生した場合は、GitHubのイシューで報告してください。
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one generates content (generate_satori_syntax) and the other retrieves metadata about available structure types (get_satori_structure_types). There is no overlap in functionality, making it impossible for an agent to confuse them.
Both tools follow a consistent verb_noun naming pattern (generate_satori_syntax, get_satori_structure_types) with clear, descriptive verbs that match their actions. The naming is uniform and predictable across the set.
With only 2 tools, the server feels thin for its purpose of generating and managing Satori syntax. A typical syntax generation server might include additional tools for validation, customization, or history management, making this set borderline minimal.
The server covers core generation and type listing, but there are notable gaps. For example, no tools exist for validating syntax, editing generated content, or managing user preferences, which could limit agent workflows in this domain.