{
  "name": "llm-context",
  "display_name": "LLM Context",
  "description": "Provides a repo-packing MCP tool with configurable profiles that specify file inclusion/exclusion patterns and optional prompts.",
  "repository": {
    "type": "git",
    "url": "https://github.com/cyberchitta/llm-context.py"
  },
  "homepage": "https://github.com/cyberchitta/llm-context.py",
  "author": {
    "name": "cyberchitta"
  },
  "license": "Apache 2.0",
  "categories": [
    "Dev Tools"
  ],
  "tags": [
    "LLM",
    "Context Injection",
    "Development",
    "ChatGPT",
    "Productivity"
  ],
  "installations": {
    "uvx": {
      "type": "uvx",
      "command": "uvx",
      "args": [
        "--from",
        "llm-context",
        "lc-mcp"
      ]
    }
  },
  "arguments": {
    "mcp": {
      "description": "Indicates the model context protocol that should be used for communication.",
      "required": true,
      "example": "lc-mcp"
    }
  },
  "tools": [
    {
      "name": "lc-project-context",
      "description": "IMPORTANT: First check if project context is already available in the conversation before making any new requests. Use lc-get-files for retrieving specific files, and only use this tool when a broad repository overview is needed.\n\nGenerates a structured repository overview including: 1) Directory tree with file status (\u2713 full, \u25cb outline, \u2717 excluded) 2) Complete contents of key files 3) Smart outlines highlighting important definitions in supported languages. The output is customizable via profiles that control file inclusion rules and presentation format. The assistant tracks previously retrieved project context in the conversation and checks this history before making new requests.",
      "inputSchema": {
        "properties": {
          "root_path": {
            "description": "Root directory path (e.g. '/home/user/projects/myproject')",
            "format": "path",
            "title": "Root Path",
            "type": "string"
          },
          "rule_name": {
            "default": "lc-code",
            "description": "Rule to use (e.g. 'code', 'copy', 'full') - defines file inclusion and presentation rules",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "title": "Rule Name",
            "type": "string"
          }
        },
        "required": [
          "root_path"
        ],
        "title": "ContextRequest",
        "type": "object"
      }
    },
    {
      "name": "lc-get-files",
      "description": "IMPORTANT: Check previously retrieved file contents before making new requests. Retrieves (read-only) complete contents of specified files from the project. For this project, this is the preferred method for all file content analysis and text searches - simply retrieve the relevant files and examine their contents. The assistant cannot modify files with this tool - it only reads their contents.",
      "inputSchema": {
        "properties": {
          "root_path": {
            "description": "Root directory path (e.g. '/home/user/projects/myproject')",
            "format": "path",
            "title": "Root Path",
            "type": "string"
          },
          "paths": {
            "description": "File paths relative to root_path, starting with a forward slash and including the root directory name. For example, if root_path is '/home/user/projects/myproject', then a valid path would be '/myproject/src/main.py",
            "items": {
              "type": "string"
            },
            "title": "Paths",
            "type": "array"
          }
        },
        "required": [
          "root_path",
          "paths"
        ],
        "title": "FilesRequest",
        "type": "object"
      }
    },
    {
      "name": "lc-list-modified-files",
      "description": "IMPORTANT: First get the generation timestamp from the project context. Returns a list of paths to files that have been modified since a given timestamp. This is typically used to track which files have changed during the conversation. After getting the list, use lc-get-files to examine the contents of any modified files of interest.",
      "inputSchema": {
        "properties": {
          "root_path": {
            "description": "Root directory path (e.g. '/home/user/projects/myproject')",
            "format": "path",
            "title": "Root Path",
            "type": "string"
          },
          "rule_name": {
            "default": "lc-code",
            "description": "Rule to use (e.g. 'code', 'copy', 'full') - defines file inclusion and presentation rules",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "title": "Rule Name",
            "type": "string"
          },
          "timestamp": {
            "description": "Unix timestamp to check modifications since",
            "title": "Timestamp",
            "type": "number"
          }
        },
        "required": [
          "root_path",
          "timestamp"
        ],
        "title": "ListModifiedFilesRequest",
        "type": "object"
      }
    },
    {
      "name": "lc-code-outlines",
      "description": "Returns smart outlines highlighting important definitions in all supported code files. This provides a high-level overview of code structure without retrieving full file contents. Outlines show key definitions (classes, functions, methods) in the codebase. Use lc-get-implementations to retrieve the full implementation of any definition shown in these outlines.",
      "inputSchema": {
        "properties": {
          "root_path": {
            "description": "Root directory path (e.g. '/home/user/projects/myproject')",
            "format": "path",
            "title": "Root Path",
            "type": "string"
          },
          "rule_name": {
            "default": "lc-code",
            "description": "Rule to use for file selection rules",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "title": "Rule Name",
            "type": "string"
          }
        },
        "required": [
          "root_path"
        ],
        "title": "OutlinesRequest",
        "type": "object"
      }
    },
    {
      "name": "lc-get-implementations",
      "description": "Retrieves complete code implementations of definitions identified in code outlines. Provide a list of file paths and definition names to get their full implementations. This tool works with all supported languages except C and C++.",
      "inputSchema": {
        "properties": {
          "root_path": {
            "description": "Root directory path (e.g. '/home/user/projects/myproject')",
            "format": "path",
            "title": "Root Path",
            "type": "string"
          },
          "queries": {
            "description": "List of (file_path, definition_name) tuples to fetch implementations for",
            "items": {
              "maxItems": 2,
              "minItems": 2,
              "prefixItems": [
                {
                  "type": "string"
                },
                {
                  "type": "string"
                }
              ],
              "type": "array"
            },
            "title": "Queries",
            "type": "array"
          }
        },
        "required": [
          "root_path",
          "queries"
        ],
        "title": "ImplementationsRequest",
        "type": "object"
      }
    }
  ]
}