# `ai.example4/xmp4` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/ai.example4/xmp4
- JSON: https://anlyon.dev/api/v1/servers/ai.example4/xmp4
- Version: 1.2.6 (active)
- Publisher: ai.example4 (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Repository: https://github.com/0ics-srls/lsai-xmp4.public
- Metadata from the official MCP Registry, synced 2026-10-21T17:41:40.226Z

Title and description, as the publisher wrote them:

```untrusted-server-text
xmp4 — Semantic code knowledge for your stack
OSS libs in your stack, really used: source, tests, callers. C#, Java, TS, Python, Rust, PHP+.
```

Scanned 2026-10-21T18:30:23.335Z over streamable-http.

**16 tools: 4 change things and 12 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 4 | ask |
| Only reads | read | 12 | allow |

## Findings

No check matched anything in these tool definitions.


## Changes things (4)

Creates or changes something that can be changed back. Claude Code: ask.

### `xmp4_grep`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
Server-side regex text search over indexed project source files. Free tier: requires file_path (single file). Premium tier (XMP4_PREMIUM_GREP_WALK=true): allows file_glob multi-file walk. Prefer xmp4_tests_for/xmp4_usages for SCIP symbols — grep is for text not indexed (comments, literals, config keys).
```

### `xmp4_guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
Usage guide for xmp4 tools — read this first to learn the correct workflow
```

### `xmp4_source`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
Extract source code for a symbol in a project.
```

### `xmp4_symbol_at`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
LSP-style position→symbol lookup. Given (file_path, line, column) returns the symbol whose occurrence covers that cursor position. line is 1-based; column is 0-based. Use after xmp4_outline/xmp4_view when you know coordinates and want the canonical symbol.
```

## Only reads (12)

Looks things up and changes nothing. Claude Code: allow.

### `xmp4_callees`

- The description's first verb is "find": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Find direct callees (methods called by) a symbol in a project. Navigate step-by-step by calling xmp4_callees again on interesting results.
```

### `xmp4_callers`

- The description's first verb is "find": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Find direct callers of a symbol in a project. Navigate step-by-step by calling xmp4_callers again on interesting results.
```

### `xmp4_deps`

- The description's first verb is "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List external dependencies of a project.
```

### `xmp4_hierarchy`

- The description's first verb is "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get type hierarchy (base, interfaces, derived) for a symbol in a project.
```

### `xmp4_info`

- The description's first verb is "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get detailed information about a symbol in a project.
```

### `xmp4_outline`

- The description's first verb is "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get outline (all symbols) for a file in a project.
```

### `xmp4_projects`

- The description's first verb is "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Search and browse projects by language and name. Use this first to discover projects, then use other tools with the repo name.
```

### `xmp4_search`

- The name "xmp4_search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Search symbols in a project. Use xmp4_projects first to find the project identifier.
```

### `xmp4_server`

- The description's first verb is "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get server information, version, and capabilities
```

### `xmp4_tests_for`

- The description's first verb is "find": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Find direct tests that exercise a given symbol (direct callers filtered to test-file candidates per language pattern: CSharp/Java/PHP: *Test(s).<ext>; Python: test_*.py / *_test.py; TypeScript/JavaScript: *.spec/test.{ts,js}; Rust: *_tests.rs / tests/; etc.).
```

### `xmp4_usages`

- The description's first verb is "find": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Find all usages/references of a symbol in a project.
```

### `xmp4_view`

- The name "xmp4_view" says "view": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Read a raw file excerpt from an indexed project by line range. Use after xmp4_search/xmp4_outline locates the region of interest, or to expand a truncated xmp4_source snippet. Hard cap of 500 lines per call.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `xmp4`:

```json
{
  "permissions": {
    "allow": [
      "mcp__xmp4__xmp4_callees",
      "mcp__xmp4__xmp4_callers",
      "mcp__xmp4__xmp4_deps",
      "mcp__xmp4__xmp4_hierarchy",
      "mcp__xmp4__xmp4_info",
      "mcp__xmp4__xmp4_outline",
      "mcp__xmp4__xmp4_projects",
      "mcp__xmp4__xmp4_search",
      "mcp__xmp4__xmp4_server",
      "mcp__xmp4__xmp4_tests_for",
      "mcp__xmp4__xmp4_usages",
      "mcp__xmp4__xmp4_view"
    ],
    "ask": [
      "mcp__xmp4__xmp4_grep",
      "mcp__xmp4__xmp4_guide",
      "mcp__xmp4__xmp4_source",
      "mcp__xmp4__xmp4_symbol_at"
    ],
    "deny": []
  }
}
```
