1. Conduid
  2. Agents
  3. Context Manager
MCP server · Agents

Context Manager

in short: gives claude a search engine for your project

Unclaimed agents
39Low

Scored 8 days ago · breakdown

About Context Manager

Context Manager is an MCP server in the Agents category: in short: gives claude a search engine for your project.

The repository has 13 stars and 0 forks.

Install

From source
git clone https://github.com/nushey/context-manager

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (2)

inspect_contextAnalyzes cross-file relationships across up to 15 `.cs` files using the Roslyn semantic model

Parameters not published.

inspect_fileReturns a structural JSON contract for a single `.cs` file

Parameters not published.

Ask AI

✦

Ask AI about Context Manager

Powered by Claude · Grounded in docs

I know everything about Context Manager. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

ContextManager MCP

An MCP (Model Context Protocol) server that extracts structural contracts from C# source files using Roslyn. Instead of sending thousands of tokens of raw source code to an AI agent, you give it a compact JSON summary: types, methods, signatures, dependencies, line numbers — everything an agent needs to understand a file without reading it.

Why

Reading a 1 500-line C# file costs an agent thousands of tokens on every call. ContextManager turns that file into a focused JSON contract (tens of tokens) that tells the agent:

  • What types exist and their kind (class, record, interface, enum, dto)
  • The full public API surface — methods with return types, parameters, and decorators
  • Exact startLine/endLine for each method, so the agent can read only the body it needs
  • Constructor dependencies (the DI graph)
  • Base classes and interfaces
  • All using directives (the import map)
  • partial class detection, required property flags, and generic method constraints

Tools

Tool Description
inspect_file Returns a structural JSON contract for a single .cs file
inspect_context Analyzes cross-file relationships in up to 15 .cs files using the Roslyn semantic model

Installation

Prerequisites

  • .NET 8 SDK or later — verify with dotnet --version

That's it. No Python, no Node, no Docker.

1. Install the tool

dotnet tool install -g ContextManager

Verify the install:

context-manager --version

2. Add to your MCP client

Claude Code (recommended — one command):

claude mcp add context-manager -- context-manager

Claude Code (manual — add to .mcp.json in your project root):

{
  "mcpServers": {
    "context-manager": {
      "command": "context-manager"
    }
  }
}

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "context-manager": {
      "command": "context-manager"
    }
  }
}

Updating

dotnet tool update -g ContextManager

Output examples

inspect_file

The example below is derived from ModernCSharpFeatures.cs and shows the new fields (isPartial, isRequired, genericConstraints):

{
  "file": "ModernCSharpFeatures.cs",
  "namespace": "ContextManager.Analysis.Tests.Fixtures",
  "usings": [],
  "types": [
    {
      "name": "PartialOrderService",
      "kind": "class",
      "access": "public",
      "isPartial": true,
      "constructorDependencies": [
        { "type": "string", "name": "customerName" }
      ],
      "methods": [
        {
          "name": "Process",
          "access": "public",
          "returnType": "void",
          "startLine": 10,
          "endLine": 10,
          "parameters": [
            { "type": "string?", "name": "orderId" }
          ]
        }
      ],
      "properties": [
        { "name": "CustomerName", "type": "string?", "access": "public" }
      ]
    },
    {
      "name": "CustomerProfile",
      "kind": "class",
      "access": "public",
      "constructorDependencies": [
        { "type": "string", "name": "email" },
        { "type": "string", "name": "fullName" }
      ],
      "methods": [
        {
          "name": "GetDisplayName",
          "access": "public",
          "returnType": "string",
          "startLine": 22,
          "endLine": 22
        }
      ],
      "properties": [
        { "name": "Email",       "type": "string",  "access": "public", "isRequired": true },
        { "name": "FullName",    "type": "string",  "access": "public", "isRequired": true },
        { "name": "PhoneNumber", "type": "string?", "access": "public" }
      ]
    },
    {
      "name": "GenericProcessor",
      "kind": "class",
      "access": "public",
      "methods": [
        {
          "name": "Convert",
          "access": "public",
          "returnType": "T",
          "startLine": 28,
          "endLine": 31,
          "parameters": [
            { "type": "object", "name": "input" }
          ],
          "genericConstraints": ["T : class, new()"]
        },
        {
          "name": "Map",
          "access": "public",
          "returnType": "TResult",
          "startLine": 33,
          "endLine": 36,
          "parameters": [
            { "type": "TSource", "name": "source" }
          ],
          "genericConstraints": ["TSource : notnull", "TResult : class"]
        }
      ]
    },
    {
      "name": "OrderSummary",
      "kind": "record",
      "access": "public",
      "constructorDependencies": [
        { "type": "string",   "name": "OrderId" },
        { "type": "decimal",  "name": "Total" },
        { "type": "string?",  "name": "Notes" }
      ]
    }
  ]
}

inspect_context

The example below is a representative output matching the ContextAnalysis model shape. It shows how cross-file references are resolved when OrderService.cs and IOrderRepository.cs are analyzed together:

{
  "files": [
    {
      "file": "OrderService.cs",
      "namespace": "Zureo.Orders",
      "types": [
        {
          "name": "OrderService",
          "kind": "class",
          "base": null,
          "implements": ["IOrderService"],
          "attributes": null,
          "constructorDependencies": ["IOrderRepository"],
          "methods": ["Task<Order> GetOrderAsync(Guid id)", "Task CreateAsync(CreateOrderRequest request)"]
        }
      ]
    },
    {
      "file": "IOrderRepository.cs",
      "namespace": "Zureo.Orders",
      "types": [
        {
          "name": "IOrderRepository",
          "kind": "interface",
          "base": null,
          "implements": null,
          "attributes": null,
          "constructorDependencies": null,
          "methods": ["Task<Order> GetOrderAsync(Guid id)", "Task SaveAsync(Order order)"]
        }
      ]
    }
  ],
  "references": [
    {
      "from": "OrderService",
      "to": "IOrderRepository",
      "via": "constructor",
      "resolvedFile": "IOrderRepository.cs"
    }
  ],
  "unresolved": ["IOrderService"]
}

Build & test

dotnet restore
dotnet build
dotnet test

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Context Manager

How do I install Context Manager?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Context Manager safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Context Manager still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.