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 (materializedViewIddefaults fromLINEAI_WORKSPACE_NAMElike other tools). - lineai-graph-search: Search nodes by text
query/qand/oridentity_prefix; optionalscan_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_idandto_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_idoridentity_prefixand 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 closedThis appears to be a problem with Astral uvx running on MacOS. The following can be used as a workaround:
- Clone this project locally.
- Configure your
mcp.jsonto useuvinstead ofuvx. 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"
}
}
}
}- Restart Cursor.
- Ensure the Cursor Global Rule for Lineai is in place.
- Open the MCP tab in Cursor and refresh the
lineai-mcp-server. - 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:
-
First, ensure you have GitHub Copilot agent mode enabled in VS Code.
-
Create a
.vscode/mcp.jsonfile 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/uvxon Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exeon Windows.
-
Alternatively, you can run the
MCP: Add Servercommand from the Command Palette and provide the server information. -
To manage your MCP servers, use the
MCP: List Serverscommand from the Command Palette. -
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.
-
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/uvxon Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exeon 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/uvxon Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exeon 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:
- Configure the MCP server by creating a
.cursor/mcp.jsonfile:
{
"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/uvxon Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exeon Windows.
- 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 impactsClaude 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 impactsWindsurf 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 impactsCursor Global Rule
To configure Lineai rules in Cursor:
- Open Cursor Settings
- Navigate to
…