Sandbox
@lineai-intelligence/lineai-mcp-server

MCP server for Lineai dependency and graph tools

This repository provides an MCP server that lets your assistant query Lineai’s software dependency data from inside the editor. It offers impact analysis for code and database changes, plus graph tools for searching nodes, tracing paths, validating change scope, and finding owners. The README shows setup for Cursor, VS Code Copilot, Claude Desktop, and Windsurf.

38 stars14 forksPythonUpdated 1mo ago
Who it's for

Builders who want their assistant to reason about code and database impacts with Lineai data.

What it delivers

You can ask your agent to check blast radius, dependencies, and owners before you change code.

What it does

Method impact tool

`lineai-method-impact` pulls impact analysis for a method and its class.

Database impact tool

`lineai-database-impact` checks impact around columns, tables, and views.

Graph discovery tools

`lineai-graph-search`, `lineai-graph-impact`, `lineai-graph-path-explain`, `lineai-graph-validate-change-scope`, `lineai-graph-owners`, and `lineai-graph-capabilities` query the Lineai graph API.

IDE setup examples

The README includes MCP config examples for Cursor, VS Code Copilot, Claude Desktop, and Windsurf.

Assistant rules guidance

The repo provides rule snippets for using Lineai tools in editor-specific instruction files.

Graph test flow

`test/integration_test_graph.py` exercises the graph tool chain, and `scripts/run_graph_e2e.sh` runs the end-to-end check.

How to get it

  1. 1There is a known issue with uvx on MacOS where the Lineai MCP server may fail to launch…
    Failed to connect client closed
  2. 2The project uses unittest for testing. You can run unit tests without any external…
    python -m unittest discover -s test -p "unit_*.py"
  3. 3Run the integration tests
    python -m unittest discover -s test -p "integration_*.py"
  4. 4From the repo root
    ./scripts/run_graph_e2e.sh
  5. 5Equivalent
    uv run python -m unittest test.integration_test_graph -v

README

lineai-mcp-server

An MCP Server to utilize Lineai's rich software dependency data in your AI programming assistant.

Components

Tools

The server implements eight tools: two impact tools plus six graph tools backed by the Lineai graph HTTP API.

Code Analysis Tools

  • lineai-method-impact: Pulls an impact assessment from the Lineai server's APIs for your code.
    • Takes the given "method" that you're working on and its associated "class".
  • lineai-database-impact: Analyzes impacts between code and database entities.
    • Takes the database entity type (column, table, or view) and its name.

Graph API tools

These call POST / GET endpoints under /api/ai-retrieval/graph/ on the same host as LINEAI_SERVER_HOST, using the same session auth as other MCP tools. If graph routes are not deployed, the server returns a clear “graph not available” style message (often after HTTP 404).

  • lineai-graph-capabilities: GET — discover supported relationship types, limits, and flags for the workspace materialized view (materializedViewId defaults from LINEAI_WORKSPACE_NAME like other tools).
  • lineai-graph-search: Search nodes by text query / q and/or identity_prefix; optional scan_space, limit, etc.
  • lineai-graph-impact: Dependency / blast-radius style traversal from seed_node_ids.
  • lineai-graph-path-explain: Shortest-path style explanation between from_node_id and to_node_id.
  • lineai-graph-validate-change-scope: Heuristic checklist / risk summary for a proposed change given seed nodes and proposed_change_summary.
  • lineai-graph-owners: Resolve a node by node_id or identity_prefix and surface property fields whose names contain "owner".

Tool arguments accept snake_case aliases (for example materialized_view_id, seed_node_ids) where noted in the MCP schema; request bodies sent to Lineai use camelCase JSON keys.

Install

Pre Requisites

The MCP server relies upon Astral UV to run, please install

MacOS Workaround for uvx

There is a known issue with uvx on MacOS where the Lineai MCP server may fail to launch in certain IDEs (such as Cursor), resulting in errors like: See issue #11

Failed to connect client closed

This appears to be a problem with Astral uvx running on MacOS. The following can be used as a workaround:

  1. Clone this project locally.
  2. Configure your mcp.json to use uv instead of uvx. For example:
{
  "mcpServers": {
    "lineai-mcp-server": {
      "type": "stdio",
      "command": "<PATH_TO_UV>/uv",
      "args": [
        "--directory",
        "<PATH_TO_THIS_REPO>/lineai-mcp-server-main",
        "run",
        "lineai-mcp-server"
      ],
      "env": {
        "LINEAI_SERVER_HOST": "<url to the server e.g. https://myco.app.lineai.net>",
        "LINEAI_USERNAME": "<my username>",
        "LINEAI_PASSWORD": "<my password>",
        "LINEAI_WORKSPACE_NAME": "<my workspace>",
        "LINEAI_DEBUG_MODE": "true"
      }
    }
  }
}
  1. Restart Cursor.
  2. Ensure the Cursor Global Rule for Lineai is in place.
  3. Open the MCP tab in Cursor and refresh the lineai-mcp-server.
  4. Ask Cursor to make a code change in an existing class. The MCP server should now run the impact analysis successfully.

Configuration for Different IDEs

Visual Studio Code Configuration

To configure this MCP server in VS Code:

  1. First, ensure you have GitHub Copilot agent mode enabled in VS Code.

  2. Create a .vscode/mcp.json file in your workspace with the following configuration:

{
  "servers": {
    "lineai-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "lineai-mcp-server@latest"
      ],
      "env": {
        "LINEAI_SERVER_HOST": "<url to the server e.g. https://myco.app.lineai.net>",
        "LINEAI_USERNAME": "<my username>",
        "LINEAI_PASSWORD": "<my password>",
        "LINEAI_WORKSPACE_NAME": "<my workspace>",
        "LINEAI_DEBUG_MODE": "true"
      }
    }
  }
}

Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example: /home/user/.local/bin/uvx on Linux/Mac or C:\Users\username\AppData\Local\astral\uvx.exe on Windows.

  1. Alternatively, you can run the MCP: Add Server command from the Command Palette and provide the server information.

  2. To manage your MCP servers, use the MCP: List Servers command from the Command Palette.

  3. Once configured, the server's tools will be available to Copilot agent mode. You can toggle specific tools on/off as needed by clicking the Tools button in the Chat view when in agent mode.

  4. To use the Lineai tools in agent mode, you can specifically ask about code impacts or database relationships, and the agent will utilize the appropriate tools.

Claude Desktop Configuration

Configure Claude Desktop by editing the configuration file:

  • On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%/Claude/claude_desktop_config.json
  • On Linux: ~/.config/Claude/claude_desktop_config.json

Add the following to your configuration file:

"mcpServers": {
  "lineai-mcp-server": {
    "command": "uvx",
    "args": [
      "lineai-mcp-server@latest"
    ],
    "env": {
      "LINEAI_SERVER_HOST": "<url to the server e.g. https://myco.app.lineai.net>",
      "LINEAI_USERNAME": "<my username>",
      "LINEAI_PASSWORD": "<my password>",
      "LINEAI_WORKSPACE_NAME": "<my workspace>"
    }
  }
}

Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example: /home/user/.local/bin/uvx on Linux/Mac or C:\Users\username\AppData\Local\astral\uvx.exe on Windows.

After adding the configuration, restart Claude Desktop to apply the changes.

Windsurf IDE Configuration

To run this MCP server with Windsurf IDE:

Configure Windsurf IDE:

To configure Windsurf IDE, you need to create or modify the ~/.codeium/windsurf/mcp_config.json configuration file.

Add the following configuration to your file:

"mcpServers": {
  "lineai-mcp-server": {
    "command": "uvx",
    "args": [
      "lineai-mcp-server@latest"
    ],
    "env": {
      "LINEAI_SERVER_HOST": "<url to the server e.g. https://myco.app.lineai.net>",
      "LINEAI_USERNAME": "<my username>",
      "LINEAI_PASSWORD": "<my password>",
      "LINEAI_WORKSPACE_NAME": "<my workspace>"
    }
  }
}

Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example: /home/user/.local/bin/uvx on Linux/Mac or C:\Users\username\AppData\Local\astral\uvx.exe on Windows.

After adding the configuration, restart Windsurf IDE or refresh the tools to apply the changes.

Cursor Configuration

To configure the Lineai MCP server in Cursor:

  1. Configure the MCP server by creating a .cursor/mcp.json file:
{
  "mcpServers": {
    "lineai-mcp-server": {
      "command": "uvx",
      "args": [
        "lineai-mcp-server@latest"
      ],
      "env": {
        "LINEAI_SERVER_HOST": "<url to the server e.g. https://myco.app.lineai.net>",
        "LINEAI_USERNAME": "<my username>",
        "LINEAI_PASSWORD": "<my password>",
        "LINEAI_WORKSPACE_NAME": "<my workspace>",
        "LINEAI_DEBUG_MODE": "true"
      }
    }
  }
}

Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example: /home/user/.local/bin/uvx on Linux/Mac or C:\Users\username\AppData\Local\astral\uvx.exe on Windows.

  1. Restart Cursor to apply the changes.

The Lineai MCP server tools will now be available in your Cursor workspace.

AI Assistant Instructions/Rules

To help the AI assistant use the Lineai tools effectively, you can add the following instructions/rules to your client's configuration. We recommend customizing these instructions to align with your team's specific coding standards, best practices, and workflow requirements:

When the graph API is available on your Lineai host, extend your rules with the same guidance the server already advertises in its MCP instructions: use lineai-graph-* tools (search, impact, path-explain, validate-change-scope, owners, capabilities) for bounded graph discovery; if graph calls fail with “not available”, fall back to lineai-method-impact / lineai-database-impact.

VS Code (GitHub Copilot) Instructions

Create a .vscode/copilot-instructions.md file with the following content:

# Lineai MCP Server Instructions

When modifying existing code methods:
- Use lineai-method-impact to analyze code changes
- Use lineai-database-impact for database modifications
- When the Lineai graph API is available, use lineai-graph-* tools (search, impact, path-explain, validate-change-scope, owners, capabilities) for bounded graph discovery; otherwise rely on method/database impact tools
- Highlight impact results for the modified methods

When modifying SQL code or database entities:
- Always use lineai-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities

To use the Lineai tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- For graph discovery: Prefer lineai-graph-* tools when available
- Review the impact results before making changes
- Consider both direct and indirect impacts

Claude Desktop Instructions

Create a file ~/.claude/instructions.md with the following content:

# Lineai MCP Server Instructions

When modifying existing code methods:
- Use lineai-method-impact to analyze code changes
- Use lineai-database-impact for database modifications
- When the Lineai graph API is available, use lineai-graph-* tools (search, impact, path-explain, validate-change-scope, owners, capabilities) for bounded graph discovery; otherwise rely on method/database impact tools
- Highlight impact results for the modified methods

When modifying SQL code or database entities:
- Always use lineai-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities

To use the Lineai tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- For graph discovery: Prefer lineai-graph-* tools when available
- Review the impact results before making changes
- Consider both direct and indirect impacts

Windsurf IDE Rules

Create or modify the ~/.codeium/windsurf/memories/global_rules.md markdown file with the following content:

When modifying existing code methods:
- Use lineai-method-impact to analyze code changes
- Use lineai-database-impact for database modifications
- When the Lineai graph API is available, use lineai-graph-* tools (search, impact, path-explain, validate-change-scope, owners, capabilities) for bounded graph discovery; otherwise rely on method/database impact tools
- Highlight impact results for the modified methods

When modifying SQL code or database entities:
- Always use lineai-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities

To use the Lineai tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- For graph discovery: Prefer lineai-graph-* tools when available
- Review the impact results before making changes
- Consider both direct and indirect impacts

Cursor Global Rule

To configure Lineai rules in Cursor:

  1. Open Cursor Settings
  2. Navigate to the "Rules" section
  3. Add the following content to "User Rules":
# Lineai MCP Server Rules
## Codebase
- The Lineai MCP Server is for java, javascript, typescript, and C# dotnet codebases
- don't run the tools on python or other non supported codebases
## AI Assistant Behavior
- When modifying existing code methods:
  - Use lineai-method-impact to analyze code changes
  - Use lineai-database-impact for database modifications
  - When the Lineai graph API is available, use lineai-graph-* tools (search, impact, path-explain, validate-change-scope, owners, capabilities) for bounded graph discovery; otherwise rely on method/database impact tools
  - Highlight impact results for the modified methods
- When modifying SQL code or database entities:
  - Always use lineai-database-impact to analyze potential impacts
  - Highlight impact results for the modified database entities
- To use the Lineai tools effectively:
  - For code impacts: Ask about specific methods or functions
  - For database relationships: Ask about tables, views, or columns
  - Review the impact results before making changes
  - Consider both direct and indirect impacts

Environment Variables

The following environment variables can be configured to customize the behavior of the server:

  • LINEAI_SERVER_HOST: The URL of the Lineai server.
  • LINEAI_USERNAME: Your Lineai username.
  • LINEAI_PASSWORD: Your Lineai password.
  • LINEAI_WORKSPACE_NAME: The name of the workspace to use.
  • LINEAI_DEBUG_MODE: Set to true to enable debug mode. When enabled, additional debug files such as timing_log.txt and impact_data*.json will be generated. Defaults to false.

Tests only

  • LINEAI_GRAPH_E2E_REQUIRED: Set to 1 when running graph MCP integration tests if you want missing graph APIs (HTTP 404 / “Graph API not available”) to fail the suite instead of skipping those tests.

Example Configuration

"env": {
  "LINEAI_SERVER_HOST": "<url to the server e.g. https://myco.app.lineai.net>",
  "LINEAI_USERNAME": "<my username>",
  "LINEAI_PASSWORD": "<my password>",
  "LINEAI_WORKSPACE_NAME": "<my workspace>",
  "LINEAI_DEBUG_MODE": "true"
}

Pinning the version

instead of using the latest version of the server, you can pin to a specific version by changing the args field to match the version in pypi e.g.

    "args": [
      "lineai-mcp-server@0.2.2"
    ],

Version Compatibility

This MCP server has the following version compatibility requirements:

  • Version 0.3.1 and below: Compatible with all Lineai API versions
  • Version 0.4.0 and above: Requires Lineai API version 25.10.0 or greater

If you're upgrading, make sure your Lineai server meets the minimum API version requirement.

Graph tools: Require your Lineai deployment to serve the graph endpoints under /api/ai-retrieval/graph/. Older or partial deployments may return 404; the MCP tools surface that as a clear error instead of opaque failures.

Debug Logging

When LINEAI_DEBUG_MODE=true, debug files are written to the system temporary directory:

  • Windows: %TEMP%\lineai-mcp-server (typically C:\Users\{username}\AppData\Local\Temp\lineai-mcp-server)
  • macOS: /tmp/lineai-mcp-server (or $TMPDIR/lineai-mcp-server if set)
  • Linux: /tmp/lineai-mcp-server (or $TMPDIR/lineai-mcp-server if set)

Debug files include:

  • timing_log.txt - Performance timing information
  • impact_data_*.json - Raw impact analysis data for troubleshooting

Finding your log directory:

import tempfile
import os
print("Log directory:", os.path.join(tempfile.gettempdir(), "lineai-mcp-server"))

Testing

Running Unit Tests

The project uses unittest for testing. You can run unit tests without any external dependencies:

python -m unittest discover -s test -p "unit_*.py"

Unit tests use mock data and don't require a connection to a Lineai server.

Integration Tests (Optional)

If you want to run integration tests that connect to a real Lineai server:

  1. Copy test/.env.test.example to test/.env.test and populate with your Lineai server details
  2. Run the integration tests:
python -m unittest discover -s test -p "integration_*.py"

Note: Integration tests require access to a Lineai server instance.

Graph MCP end-to-end tests

test/integration_test_graph.py drives the real MCP handler path (handle_call_tool) for lineai-graph-capabilities and a chained flow (search → impact → path → validate → owners) against LINEAI_SERVER_HOST. Configure credentials the same way as other integration tests (test/.env.test from test/.env.test.example).

  • If the host does not expose graph routes, tests skip by default.
  • Set LINEAI_GRAPH_E2E_REQUIRED=1 to turn missing graph APIs into hard failures (useful in CI when graph must be present).

From the repo root:

./scripts/run_graph_e2e.sh

Equivalent:

uv run python -m unittest test.integration_test_graph -v

Validation for Official MCP Registry

mcp-name: io.github.lineai-intelligence/lineai-mcp-server

Files in the repo

Repository payload23 top-level entries
  • .cursor
  • .github
  • .vscode
  • context
  • scripts
  • src
  • test
  • .flake8
  • .gitignore
  • .python-version
  • add_license_headers.py
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • glama.json
  • LICENSE
  • publish-mcp-registry.ps1
  • pyproject.toml
  • README.md
  • renovate.json
  • SECURITY.md
  • server.json
  • start-mcp-inspector.ps1
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k