Skip to main content
Glama
nogu66

Satori Syntax MCP Server

by nogu66

generate_satori_syntax

Generate Satori syntax templates for creating engaging 140-character X (Twitter) posts with five structure types including basic forms, contrarian takes, news-based content, shocking news, and step-by-step guides.

Instructions

さとり構文を生成します(140文字のX投稿用)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
structure_typeYes構文タイプ(A: 基本形、B: 常識の否定、C: 一般的なニュース、D: 衝撃的なニュース、E: ステップ紹介)
target_audienceYesターゲット層(例: 副業を始めたい人、AIに興味がある人)
message_contentYes伝えたいメッセージの内容
expected_actionYes期待する行動(例: サービスを試す、投稿をシェアする)
news_contentNoニュース内容(構文CとDで使用、オプション)

Implementation Reference

  • The handler function for the 'generate_satori_syntax' tool. It generates a prompt using SatoriTemplates and returns it in MCP content format.
    private async generateSatoriSyntax(request: SatoriGenerateRequest): Promise<{ content: Array<{ type: string; text: string }> }> {
      const prompt = SatoriTemplates.generateSatoriPrompt(request);
      
      const structureTypeInfo = SatoriTemplates.getStructureTypeDescription(request.structure_type);
      
      return {
        content: [
          {
            type: 'text',
            text: `さとり構文生成プロンプト(構文タイプ ${request.structure_type}: ${structureTypeInfo}):\\n\\n${prompt}\\n\\n**注意:** このプロンプトを使用しているLLM(Claude、ChatGPT、Geminiなど)で実行して、さとり構文を生成してください。MCPサーバー自体はプロンプトの提供のみを行います。`,
          },
        ],
      };
    }
  • JSON Schema defining the input parameters for the generate_satori_syntax tool.
    inputSchema: {
      type: 'object',
      properties: {
        structure_type: {
          type: 'string',
          enum: ['A', 'B', 'C', 'D', 'E'],
          description: '構文タイプ(A: 基本形、B: 常識の否定、C: 一般的なニュース、D: 衝撃的なニュース、E: ステップ紹介)',
        },
        target_audience: {
          type: 'string',
          description: 'ターゲット層(例: 副業を始めたい人、AIに興味がある人)',
        },
        message_content: {
          type: 'string',
          description: '伝えたいメッセージの内容',
        },
        expected_action: {
          type: 'string',
          description: '期待する行動(例: サービスを試す、投稿をシェアする)',
        },
        news_content: {
          type: 'string',
          description: 'ニュース内容(構文CとDで使用、オプション)',
        },
      },
      required: ['structure_type', 'target_audience', 'message_content', 'expected_action'],
    },
  • src/index.ts:49-79 (registration)
    Registration of the 'generate_satori_syntax' tool in the MCP ListTools handler.
    {
      name: 'generate_satori_syntax',
      description: 'さとり構文を生成します(140文字のX投稿用)',
      inputSchema: {
        type: 'object',
        properties: {
          structure_type: {
            type: 'string',
            enum: ['A', 'B', 'C', 'D', 'E'],
            description: '構文タイプ(A: 基本形、B: 常識の否定、C: 一般的なニュース、D: 衝撃的なニュース、E: ステップ紹介)',
          },
          target_audience: {
            type: 'string',
            description: 'ターゲット層(例: 副業を始めたい人、AIに興味がある人)',
          },
          message_content: {
            type: 'string',
            description: '伝えたいメッセージの内容',
          },
          expected_action: {
            type: 'string',
            description: '期待する行動(例: サービスを試す、投稿をシェアする)',
          },
          news_content: {
            type: 'string',
            description: 'ニュース内容(構文CとDで使用、オプション)',
          },
        },
        required: ['structure_type', 'target_audience', 'message_content', 'expected_action'],
      },
    },
  • Core helper function that populates the Satori prompt template with request parameters.
    static generateSatoriPrompt(request: SatoriGenerateRequest): string {
      const {
        structure_type,
        target_audience,
        message_content,
        expected_action,
        news_content
      } = request;
    
      let newsSection = '';
      if ((structure_type === 'C' || structure_type === 'D') && news_content) {
        newsSection = `### ニュース内容\n${news_content}\n`;
      }
    
      const template = this.getSatoriPrompt();
      
      return template
        .replace(/{structure_type}/g, structure_type)
        .replace(/{target_audience}/g, target_audience)
        .replace(/{message_content}/g, message_content)
        .replace(/{expected_action}/g, expected_action)
        .replace(/{news_section}/g, newsSection);
    }
  • The static prompt template containing guidelines and examples for all Satori syntax types, used by generateSatoriPrompt.
      static getSatoriPrompt(): string {
        return `# さとり構文生成プロンプト
    
    以下の構文ガイドラインに従い、対象読者に響く140文字のX投稿用「さとり構文」を作成してください。選択する構文タイプに応じて、具体的な例やポイントを参考にしてください。
    
    ## 必要な情報
    1. **構文タイプ**(A/B/C/D/E から選択)
    2. **ターゲット層**(例: 副業を始めたい人、AIに興味がある人)
    3. **伝えたいメッセージの内容**(例: 新しいツールの紹介、驚きのニュース、具体的な手順)
    4. **期待する行動**(例: サービス利用、投稿の拡散)
    
    ---
    
    ## さとり構文 A(基本形)
    万能でどんな状況にも適応可能な構文です。
    
    ### 入力例
    - ターゲット層: ADHDタイプの人
    - 伝えたいメッセージ: Geminiを活用すると仕事が効率化する
    - 期待する行動: Geminiを試してみる
    
    ### 出力例
    「ADHDタイプの人は全員Geminiを使った方が良い。仕掛かりの仕事がゴチャゴチャしがちなのでそれらを全てGeminiに放り込んで要約とタスクの優先順位付けをしてもらうと一瞬で仕事の5割が片付く。この爽快感は他では味わえない。分かりやすい使い方のYouTube動画をリプ欄に貼ったから30秒だけでも見てみて。」
    
    ---
    
    ## さとり構文 B(常識の否定)
    常識や既成概念を覆すことで読者の関心を引きつけます。
    
    ### 入力例
    - ターゲット層: AIを使いこなしたい人
    - 伝えたいメッセージ: ChatGPTだけでなく、他のAIツールを活用すべき
    - 期待する行動: 適材適所でAIを使い分ける
    
    ### 出力例
    「AIを使いこなしたい人はChatGPTを使わない方が良い。大体のことはGeminiの方が賢いし、リサーチならPerplexityのほうが正確。GPTは画像認識や文字起こし、音声入力して資料の土台を作るとかそういうことに向いてる。脳死でGPTを使うのをやめて適材適所のAI運用を心がけるだけで生産性が5倍上がる。」
    
    ---
    
    ## さとり構文 C(一般的なニュース)
    ニュースを軸にしつつ、読者の興味を引く構文です。
    
    ### 入力例
    - ニュース内容: 最新AIツールの無料公開
    - ターゲット層: 会社でAIを使いたいけど課金に悩んでいる人
    - 期待する行動: AIツールを試す
    
    ### 出力例
    「『AIを会社で使いたいけど課金が…』って人たちに朗報。いま最新AIが全て無料で使える。GPT-4o、Claude 3.5 Sonnet、Gemini 1.5 Proすべて無料解放祭。お金かかっても使い倒したい派の人も専門家レベルのAIが使い放題なので勝ち確。リプ欄にリンク貼っておくから今すぐ試してAIの進歩を実感してみて。」
    
    ---
    
    ## さとり構文 D(衝撃的なニュース)
    驚きや感動を伴う内容で感情を動かします。
    
    ### 入力例
    - 衝撃的な事実: AIがリアルタイムアバターを実現
    - ターゲット層: 最新技術に興味がある人
    - 期待する行動: 動画を見て技術を体験する
    
    ### 出力例
    「ねえこれ見て。衝撃的。左の女性が右のAI美女になって動いてる。しかもリアルタイム。ディープフェイクすら超越して時代は『リアルタイムアバター』に…。」
    
    ---
    
    ## さとり構文 E(ステップ紹介)
    具体的な手順を示して行動を促す構文です。
    
    ### 入力例
    - ターゲット層: 副業で安定収入を目指す人
    - 手順: 1. AIを活用してポスターを販売、2. サークルを立ち上げる、3. FANZAで展開する
    - 期待する行動: 手順を実行し、副業収入を得る
    
    ### 出力例
    「副業で毎月100万円を安定させたい人は全員この流れ覚えて  
    1. ponyを使ってヤフオクでAI美女ポスターを売る  
    2. 月30万円くらい売れるようになったら次に進む  
    3. 同人サークルを立ち上げる  
    4. 今FANZAがアツいので全部かけあわせて月100万円くらい稼げる  
    僕のポストで定期的に詳しく解説しているからフォロー推奨。」
    
    ---
    
    ## 入力
    
    ### 構文タイプ
    {structure_type}
    
    ### ターゲット層
    {target_audience}
    
    ### メッセージ内容
    {message_content}
    
    ### 期待する行動
    {expected_action}
    
    {news_section}
    
    ---
    
    上記の情報に基づいて、選択された構文タイプ({structure_type})に従って、ターゲット層「{target_audience}」に響く140文字程度のさとり構文を生成してください。メッセージは「{message_content}」を含み、読者に「{expected_action}」という行動を促すものにしてください。
    
    **重要な指示:**
    1. 140文字程度で収める
    2. 選択された構文タイプの特徴を活かす
    3. ターゲット層に刺さる表現を使う
    4. 期待する行動につながる内容にする
    5. さとり構文のテキストのみを出力し、説明や前置きは不要`;
      }

Latest Blog Posts

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/nogu66/satorify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server