{
  "name": "Novoterm MCP Server — Tool Discovery",
  "description": "Directory of every tool exposed by the Novoterm MCP server, with names, descriptions, and JSON Schema input definitions. Connect an MCP client to the mcp_endpoint over Streamable HTTP to call these tools.",
  "mcp_endpoint": "https://www.novoterm.se/mcp",
  "transport": "streamable-http",
  "protocolVersion": "2025-03-26",
  "version": "1.2.0",
  "health": "https://www.novoterm.se/mcp/health",
  "toolCount": 14,
  "tools": [
    {
      "name": "get_company",
      "title": "Get Company",
      "description": "Returns Novoterm Translation's company identity: founding year, headquarters and postal address, team size, languages served, philosophy, pricing model, general contact details (email, phone, contact form), client and translator testimonials, and the CEO's letter/company history from the /om-oss page.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "list_services",
      "title": "List Services",
      "description": "Returns all Novoterm translation and language-review services (Premium Translation, AI Translation, Proofreading, Text Review, Text Processing, and more), each with its slug, title, and URL.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "get_service",
      "title": "Get Service",
      "description": "Returns a single Novoterm service by slug, including its full description, benefits, and service-specific FAQs. Use list_services to discover valid slugs.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Service slug, e.g. 'premiumoversattning' or 'ai-oversattning'."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "list_industries",
      "title": "List Industries",
      "description": "Returns all 15 industries Novoterm serves (financial, legal, medical, technical, IT, marketing/PR, sustainability, HR, education, construction, energy, defence, security, fashion/design/art, plus an overview entry), each with its slug, title, and URL.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "get_industry",
      "title": "Get Industry",
      "description": "Returns a single industry by slug, including its full description of the sector-specific translation expertise Novoterm offers, example documents, and the industry page's own FAQ. Use list_industries to discover valid slugs.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Industry slug, e.g. 'finansiell-oversattning' or 'juridisk-oversattning'."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "list_case_studies",
      "title": "List Case Studies",
      "description": "Returns Novoterm's client case studies (Naturvårdsverket, Julius Production, Moderna Museet, True Stories/Viking Line), each with the client, industry, services used, and a short introduction.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "get_case_study",
      "title": "Get Case Study",
      "description": "Returns a single client case study by slug in full: introduction, challenges, solution, results, translation examples, and the client's testimonial where present. Use list_case_studies to discover valid slugs.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Case study slug, e.g. 'naturvardsverket' or 'julius-production'."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "list_team",
      "title": "List Team",
      "description": "Returns Novoterm's in-house team: name, role, and bio for each of the 9 team members based in Stockholm.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "list_pages",
      "title": "List Landing Pages",
      "description": "Returns Novoterm's standalone landing pages in full — the languages page (/sprak: translation into 40+ languages, localisation) and the page for production and communications agencies — with their sections, example documents, and page-specific FAQs.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "list_videos",
      "title": "List Videos",
      "description": "Returns every Novoterm video page with its description, YouTube embed URL, duration, and the related service or industry page.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "search_faq",
      "title": "Search FAQ",
      "description": "Searches Novoterm's FAQ (the general FAQ page, the homepage's own separate FAQ, every per-service and per-industry FAQ, and the landing-page FAQs) for questions matching a keyword. Returns matching question/answer pairs. Omit the query to return the site-wide FAQ (general + homepage) in full.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keyword to search for in the FAQ questions and answers, e.g. 'auktoriserad' or 'pricing'."
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "search_articles",
      "title": "Search Articles",
      "description": "Searches Novoterm's article library (64 articles on translation, AI translation, proofreading, and industry-specific translation advice) by keyword in the title or body. Returns matching articles with their full text. Omit the query to list all article titles.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keyword to search for, e.g. 'transcreation' or 'certifierad översättare'."
          }
        },
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "get_article",
      "title": "Get Article",
      "description": "Returns a single Novoterm article by slug, in full. Use search_articles to discover valid slugs.",
      "readOnly": true,
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "description": "Article slug, e.g. 'vad-ar-transcreation'."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    },
    {
      "name": "submit_contact_inquiry",
      "title": "Submit Contact Inquiry",
      "description": "Submits a real inquiry through Novoterm's contact form (the same form at https://www.novoterm.se/kontakta-oss), so an AI agent can act on a user's behalf instead of just returning contact details. This sends an actual message to Novoterm's team — only call it when the user has explicitly asked to contact/reach out to/submit a form to Novoterm and has provided their own real name, email, and phone number. Not read-only, not idempotent: each call sends one inquiry.",
      "readOnly": false,
      "inputSchema": {
        "type": "object",
        "properties": {
          "inquiryType": {
            "type": "string",
            "enum": [
              "company",
              "private"
            ],
            "default": "company",
            "description": "Whether this inquiry is on behalf of a company or a private individual."
          },
          "fullName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "The inquirer's full name."
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 254,
            "description": "The inquirer's email address, for Novoterm to reply to."
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "The inquirer's phone number."
          },
          "companyName": {
            "type": "string",
            "maxLength": 200,
            "description": "Company name. Required when inquiryType is 'company'; ignored for 'private'."
          },
          "serviceArea": {
            "type": "string",
            "enum": [
              "translation",
              "review",
              "other"
            ],
            "description": "The desired language service: 'translation' (Översättning), 'review' (Granskning, i.e. proofreading/language review), or 'other'."
          },
          "message": {
            "type": "string",
            "maxLength": 5000,
            "description": "Free-text message describing what the inquirer needs."
          }
        },
        "required": [
          "fullName",
          "email",
          "phone",
          "serviceArea"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      }
    }
  ]
}
