{
  "serverInfo": {
    "name": "TopicForge MCP",
    "version": "0.1.0"
  },
  "authentication": {
    "required": true,
    "schemes": [
      "apiKey"
    ]
  },
  "tools": [
    {
      "name": "topic_cluster",
      "description": "Expand one seed topic into a configurable set of programmatic SEO article ideas with ICP, search intent, and guidance.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seedTopic": {
            "type": "string",
            "description": "Seed topic to expand into a cluster"
          },
          "industry": {
            "type": "string"
          },
          "topicCount": {
            "type": "number"
          },
          "email": {
            "type": "string"
          }
        },
        "required": [
          "seedTopic"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "faq_schema",
      "description": "Turn a topic into FAQ questions and FAQPage JSON-LD for answer hub SEO.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "topicTitle": {
            "type": "string",
            "description": "Topic or question for FAQ generation"
          },
          "context": {
            "type": "string"
          },
          "email": {
            "type": "string"
          }
        },
        "required": [
          "topicTitle"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "meta_description",
      "description": "Generate a 150–160 character meta description from a title and optional snippet.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Page or article title"
          },
          "bodySnippet": {
            "type": "string"
          },
          "email": {
            "type": "string"
          }
        },
        "required": [
          "title"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "run_batch",
      "description": "Launch a batch job to generate publish-ready articles for multiple topics. Debits workspace credits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Batch job name"
          },
          "topics": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Article topic title"
                },
                "slug": {
                  "type": "string"
                },
                "icp": {
                  "type": "string"
                },
                "productAngle": {
                  "type": "string"
                },
                "topicGuidance": {
                  "type": "string"
                }
              },
              "required": [
                "title"
              ],
              "additionalProperties": false
            },
            "description": "Topics to generate"
          },
          "autoApprove": {
            "type": "boolean"
          },
          "autoPublish": {
            "type": "boolean"
          },
          "concurrency": {
            "type": "number"
          },
          "translateLocales": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "es",
                "fr",
                "de"
              ]
            }
          }
        },
        "required": [
          "name",
          "topics"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "get_batch_status",
      "description": "Poll a batch job for per-item status and completed article previews.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "Batch job ID returned from run_batch"
          }
        },
        "required": [
          "jobId"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "get_article",
      "description": "Fetch a generated article by ID including markdown body and metadata.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "articleId": {
            "type": "string",
            "description": "Article ID"
          }
        },
        "required": [
          "articleId"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "export_markdown",
      "description": "Export a generated article as markdown for CMS import.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "articleId": {
            "type": "string",
            "description": "Article ID to export"
          }
        },
        "required": [
          "articleId"
        ],
        "additionalProperties": false
      }
    }
  ],
  "resources": [],
  "prompts": []
}
