Skip to content

himkt/pathfinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Pathfinder MCP

Bridge MCP clients to LSP servers. Each pathfinder instance handles one LSP server.

Build

cargo build --release

Binary at target/release/pathfinder.

Usage

# Single extension
pathfinder -e py -s pyright-langserver -- --stdio

# Multiple extensions
pathfinder -e py -e pyi -s uv run pyright-langserver -- --stdio

# With workspace
pathfinder -e rs -s rust-analyzer -w /path/to/project

Flags

  • -e, --extension <EXT> - File extension (no dots, can repeat)
  • -s, --server <CMD>... - LSP server command
  • -w, --workspace <PATH> - Project directory (default: current dir)

MCP Configuration

Single Language

{
  "mcpServers": {
    "pathfinder-python": {
      "command": "/path/to/pathfinder",
      "args": ["-e", "py", "-s", "pyright-langserver", "--", "--stdio"]
    }
  }
}

Multiple Languages

Run separate instances:

{
  "mcpServers": {
    "pathfinder-rust": {
      "command": "/path/to/pathfinder",
      "args": ["-e", "rs", "-s", "rust-analyzer"]
    },
    "pathfinder-ts": {
      "command": "/path/to/pathfinder",
      "args": ["-e", "ts", "-e", "tsx", "-s", "typescript-language-server", "--", "--stdio"]
    }
  }
}

Tools

definition - Jump to definition via LSP textDocument/definition

Input: { uri: string, line: number, character: number }

Returns: [{ uri, range }]

Automatically retries 3x with 150ms delay when LSP returns empty (handles indexing delays).

Troubleshooting

  • LOG_LEVEL=debug to see LSP traffic
  • LSP timeout: 15 seconds
  • Check LSP stderr for errors
  • Debug logs show retry attempts

Examples

# Python with uv
pathfinder -e py -e pyi -s uv run pyright-langserver -- --stdio

# TypeScript
pathfinder -e ts -e tsx -s typescript-language-server -- --stdio

# Rust
pathfinder -e rs -s rust-analyzer

# Go
pathfinder -e go -s gopls

About

๐Ÿ“š MCP client for jumping to definitions using LSP server for an arbitrary language

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •