Kortx MCP Server

Kortx MCP Server

A lightweight MCP server that provides coding copilots with access to GPT-5, Perplexity Sonar, and GPT Image models, offering tools for planning, debugging, research, and image generation.

Category
Visit Server

README

Kortx

npm version License: MIT Build Status Node.js Version

Quick StartDocumentationExamplesContributing

Kortx is a lightweight Model Context Protocol (MCP) server that gives coding copilots access to:

  • OpenAI GPT-5 models (gpt-5, gpt-5-mini, gpt-5-nano, gpt-5-codex, gpt-5.1-2025-11-13, gpt-5.1-codex) with automatic fallback.
  • Perplexity Sonar models for real-time research.
  • GPT Image (gpt-image-1) for visual generation and editing.
  • A default context gatherer that can ingest local file excerpts and optional connectors for Serena, MCP Knowledge Graph, and CCLSP MCP servers when those are running.

The server ships with structured logging, request rate limiting, response caching, and a hardened Docker build that runs as a non-root user. Transport is stdio-only today (HTTP is not implemented yet).


Highlights

  • Seven consultation tools plus a batch runner covering planning, alternatives, copy improvement, debugging, expert consultation, research, and image workflows.
  • File-based context enrichment out of the box, with pluggable MCP connectors ready for Serena/MCP Knowledge Graph/CCLSP when available.
  • Perplexity integration (requires API key) for citation-backed answers and image search.
  • Configurable OpenAI model, reasoning effort, verbosity, and retry behaviour.
  • Built-in rate limiting, cache, and optional audit logging to avoid flooding upstream APIs.
  • Dockerfile uses multi-stage build, npm audits, and runs as UID/GID 1001.

Quick Start

  1. Set credentials (both keys are required by the current config):

    export OPENAI_API_KEY=sk-your-openai-key
    export PERPLEXITY_API_KEY=pplx-your-perplexity-key
    
  2. Add Kortx to your MCP client. Example generic configuration:

    {
      "mcpServers": {
        "kortx-mcp": {
          "command": "npx",
          "args": ["-y", "@effatico/kortx-mcp@latest"],
          "env": {
            "OPENAI_API_KEY": "${OPENAI_API_KEY}",
            "PERPLEXITY_API_KEY": "${PERPLEXITY_API_KEY}"
          }
        }
      }
    }
    

Client-specific walkthroughs for Claude Code, VS Code Copilot, Cursor, and others are available under docs/integration.


Tool Overview

  • think-about-plan – Structured review of plans with strengths, risks, and follow-up questions.
  • suggest-alternative – Generates viable alternatives with trade-offs and constraints.
  • improve-copy – Refines technical copy with tone, clarity, and accessibility guidance.
  • solve-problem – Debugging assistant covering root cause analysis and remediation steps.
  • consult – Expert consultation with domain-specific personas (software-architecture, security, performance, database, devops, frontend, backend, ai-ml, general).
  • search-content – Perplexity-backed web/academic/SEC search with citations and optional images.
  • create-visual – GPT Image based generator/editor; search mode reuses Perplexity for visual inspiration.
  • batch-consult – Runs multiple tool calls in parallel and returns aggregated results.

Every consultation tool accepts an optional preferredModel. The OpenAI client falls back through gpt-5.1-2025-11-13 → gpt-5.1-codex → gpt-5 → gpt-5-mini → gpt-5-nano automatically on failures.


Configuration Essentials

Minimum environment variables:

  • OPENAI_API_KEY – required
  • PERPLEXITY_API_KEY – required (disable Perplexity integration by omitting the search-content / create-visual search mode if you do not have a key)

Common overrides (see .env.example for the full list):

# OpenAI behaviour
OPENAI_MODEL=gpt-5-mini        # gpt-5 | gpt-5-mini | gpt-5-nano | gpt-5-codex | gpt-5.1-2025-11-13 | gpt-5.1-codex
OPENAI_REASONING_EFFORT=minimal
OPENAI_VERBOSITY=low
OPENAI_MAX_TOKENS=1024

# Safety & performance
ENABLE_RESPONSE_CACHE=true
CACHE_MAX_SIZE_MB=100
ENABLE_RATE_LIMITING=true
MAX_REQUESTS_PER_HOUR=100

# Context gathering
ENABLE_SERENA=false            # flip to true when a Serena MCP server is reachable
ENABLE_MEMORY=false            # same for MCP Knowledge Graph
ENABLE_CCLSP=false             # same for cclsp
INCLUDE_FILE_CONTENT=true

Note The Serena, MCP Knowledge Graph, and CCLSP connectors are stubs that return data only when the corresponding MCP servers are running and reachable. Out of the box the gatherer uses on-disk file excerpts referenced in prompts.

Full reference: docs/configuration.md


Docker

Build and run locally:

docker build -t kortx-mcp .
docker run -i --rm \
  -e OPENAI_API_KEY=$OPENAI_API_KEY \
  -e PERPLEXITY_API_KEY=$PERPLEXITY_API_KEY \
  kortx-mcp

The image:

  • Uses Node.js 22 Alpine
  • Performs npm audit during build
  • Copies only the compiled build/ artefacts and production deps
  • Runs as user nodejs (UID 1001)

Compose example (docker-compose.yml) is included for longer-lived runs with volume mounts.


Development

git clone https://github.com/effatico/kortx-mcp.git
cd kortx-mcp
npm install
cp .env.example .env
npm run build
npm run dev

Useful scripts:

  • npm test / npm run test:coverage
  • npm run lint / npm run lint:fix
  • npm run format / npm run format:check
  • npm run inspector – launch MCP Inspector for interactive debugging

Node.js ≥ 22.12.0 and npm ≥ 9 are required.


Documentation


Contributing & Support


License

MIT © Effati Consulting AB. See LICENSE.

Star History Chart

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured