peeker

Crates.iopeeker
lib.rspeeker
version1.2.0
created_at2025-12-06 01:06:42.86982+00
updated_at2025-12-06 03:55:02.897458+00
descriptionA library and CLI tool for extracting code structure using Tree-sitter
homepage
repositoryhttps://github.com/xandwr/peeker
max_upload_size
id1969486
size70,845
Xander (xandwr)

documentation

README

Peeker

A fast CLI tool for extracting code structure from source files using Tree-sitter.

Features

  • Multi-language support: Rust, Python, TypeScript, JavaScript, Go, Java, C, C++
  • Extracts: imports, structs/classes, functions, traits/interfaces, enums
  • Output formats: pretty (terminal), JSON, Markdown
  • Filter by visibility: show only public/exported items with --exports-only
  • MCP server: run as a Model Context Protocol server for AI tool integration

Installation

cargo install peeker

Usage

# Analyze a file
peeker peek src/main.rs

# JSON output
peeker peek src/main.rs --format json

# Markdown output
peeker peek src/main.rs --format markdown

# Show only public items
peeker peek src/lib.rs --exports-only

MCP Server

Peeker can run as an MCP (Model Context Protocol) server, exposing its code analysis capabilities to AI tools and agents.

# Start MCP server (JSON-RPC over stdio)
peeker mcp

Integration with mcpd

Add to your mcpd configuration:

{
  "peeker": {
    "command": "peeker",
    "args": ["mcp"]
  }
}

Available Tools

Tool Description
peek Analyze source code structure. Parameters: file (required), exports_only (optional)

Example Output

src/parser.rs

Imports
  use anyhow::Result; (line 1)
  use tree_sitter::Parser; (line 2)

Structs/Classes
  pub struct CodeStructure (lines 8-14)
    imports: Vec<Import>
    structs: Vec<StructDef>
    functions: Vec<FunctionDef>

Functions
  pub fn parse_file(path: &Path) -> Result<CodeStructure> (lines 20-45)

License

MIT

Commit count: 0

cargo fmt