Skip to main content
Glama
context-aware-mcp

context-aware-mcp

by navjeet4real

context-aware-mcp

A configurable MCP (Model Context Protocol) server with intelligent API routing across microservices. Define your services in JSON, and the server automatically routes natural language queries to the right endpoint.

Quick Start

# Initialize config with a template
npx context-aware-mcp init --template openstore

# Or start with a blank config
npx context-aware-mcp init

Related MCP server: tool-smith

Installation

npm install -g context-aware-mcp

Or use directly with npx:

npx context-aware-mcp <command>

CLI Commands

Command

Description

init

Create a new mcp-config.json (blank or from template)

add-service

Add a service to config

add-env

Add an environment URL to a service

set-swagger

Set swagger path for a service

remove-service

Remove a service

remove-env

Remove an environment from a service

list

List configured services

validate

Validate mcp-config.json

build

Compile TypeScript

install

Generate MCP config for Claude Code or VS Code

All config commands support both --flags mode and interactive mode (run without flags for prompts).

Config Format

Services are defined in mcp-config.json:

{
  "$schema": "./mcp-config.schema.json",
  "version": "1.0",
  "defaults": { "environment": "qa", "swaggerPath": "/api/docs-json" },
  "services": {
    "my-service": {
      "keywords": ["order", "checkout"],
      "idPrefixes": ["ordr_"],
      "type": "rest",
      "environments": {
        "qa": { "url": "https://qa-my-service.example.com" },
        "local": { "url": "http://localhost:3001" }
      }
    }
  },
  "environmentKeywords": {
    "qa": ["from qa", "in qa"],
    "local": ["locally", "from local"]
  }
}

MCP Integration

Generate Claude Code or VS Code config:

# Project-level Claude Code config (.mcp.json)
npx context-aware-mcp install

# VS Code config (.vscode/mcp.json)
npx context-aware-mcp install --target vscode

# Both
npx context-aware-mcp install --target all

MCP Tools

The server exposes these tools to AI assistants:

  • smart_api_call — Intelligent routing from natural language queries

  • fetch_swagger — Fetch and cache OpenAPI specs

  • call_api — Direct API calls to service endpoints

  • list_services — List available services

  • kafka_list_topics / kafka_describe_topic / kafka_read_messages / kafka_consumer_groups — Kafka operations

Development

npm install
npm run build
npm test

See CONTRIBUTING.md for details.

License

MIT

Available Tools

8 tools
call_apiC

Direct API call to a specific service endpoint.

Inputs: service (required), endpoint (required), body, method, +3 more.

fetch_swaggerC

Fetch OpenAPI spec for a service. Services: os-order

Inputs: service (required), listPaths, clearCache, environment.

kafka_consumer_groupsC

List consumer groups and their offsets. Check consumer lag and group status.

Inputs: topic, groupId.

kafka_describe_topicA

Get detailed metadata about a Kafka topic including partitions, replicas, and current offsets.

Inputs: topic (required).

kafka_list_topicsA

List all Kafka topics. Optionally filter by pattern (regex).

Inputs: pattern.

kafka_read_messagesB

Read recent messages from a Kafka topic. Useful for debugging event flows.

Inputs: topic (required), limit, partition, fromBeginning.

list_servicesC

List available services and their keywords

Inputs: environment, showKeywords.

smart_api_callC

Intelligent API routing from natural language queries. Available services: os-order. Environments: local, qa.

Inputs: query (required), body, headers, autoExecute.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 8 tools

    Disambiguation3/5

    The Kafka tools are clearly distinct, but the API tools overlap: smart_api_call and call_api both invoke APIs, and fetch_swagger/list_services are related discovery utilities. Descriptions partially clarify the difference between natural-language routing and direct calls, but an agent could still pick the wrong tool without additional context.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (fetch_swagger, call_api, list_services) and the Kafka group consistently uses kafka_verb_noun. smart_api_call breaks the pattern because it is an adjective-noun phrase rather than a verb-initial name, but the inconsistency is minor.

    Tool Count5/5

    Eight tools is well-scoped for a server covering both API discovery/invocation and Kafka inspection. Each tool addresses a distinct operational need without redundancy or bloat.

    Completeness4/5

    The API side covers service discovery, spec retrieval, and invocation, while the Kafka side covers listing, describing, reading, and consumer-group inspection. Minor gaps such as producing messages or managing offsets exist, but the surface seems complete for its apparent context-gathering purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A lightweight MCP server that enables natural language interaction with Kubernetes clusters, allowing management of pods, deployments, namespaces, and cluster resources through conversational queries or API endpoints.
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server that routes natural language requests to structured tool calls using a LoRA-tuned small language model, with built-in validation, retry, and fallback recovery.
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      MCP server for a modular RAG system that enables natural language question answering over enterprise documents with intent-aware routing, adaptive retrieval, and citation-backed responses.
      -