io.github.Mibayy/token-savior
PYPI · TOKEN-SAVIOR-RECALL · SCANNED SEP 21
Structural codebase MCP server with persistent memory: navigate by symbol, recall across sessions.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 0 of 34 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 54 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 6320 tokens (~91/item across 69 items; 69 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage94
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 81% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "memory_delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 69 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.Mibayy/token-savior MCP server?
io.github.Mibayy/token-savior runs locally as a PyPI package, launched with uvx token-savior-recall. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · token-savior-recall
claude mcp add mibayy-token-savior -- uvx token-savior-recall
{
"mcpServers": {
"mibayy-token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
]
}
}
} {
"servers": {
"mibayy-token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
]
}
}
} codex mcp add mibayy-token-savior -- uvx token-savior-recall
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mibayy-token-savior": {
"type": "local",
"command": [
"uvx",
"token-savior-recall"
],
"enabled": true
}
}
} openclaw mcp add mibayy-token-savior --command uvx --arg token-savior-recall
mcp_servers:
mibayy-token-savior:
command: "uvx"
args: ["token-savior-recall"] {
"McpServers": {
"mibayy-token-savior": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"token-savior-recall"
]
}
}
} assistant mcp add mibayy-token-savior -t stdio -c uvx -a token-savior-recall
{
"mcpServers": {
"mibayy-token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 +1
- Stability: 0.97 → pass security
- 17 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 16 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 15 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 13 Sept 26 −15
- Malware scan: pass → unverified ▼ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/token-savior-recall@4.13.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 34 packages
| Packages resolved | 34 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_field_to_model ~130
Add a field to a model/class/interface. Supports .prisma, .py (dataclass, SQLAlchemy), .ts/.tsx.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Insert after the line containing this string. |
| field_name | string | yes | Name of the new field. |
| field_type | string | yes | Type of the field (e.g. 'String', 'DateTime?', 'number'). |
| file_path | string | – | Optional file path to disambiguate. |
| model | string | yes | Model/class/interface name. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
analyze_config ~99
Audit config files (.env/.yaml/.toml/.json): duplicates, secrets, orphans.
| Name | Type | Req | Description |
|---|---|---|---|
| checks | array | – | Checks to run |
| file_path | string | – | Specific config file |
| max_issues | integer | – | Cap total issues shown (default 10, 0 = unlimited). Raise for full audit. |
| project | string | – | Project name/path (default: active). |
| severity | string | – | Severity filter |
No output schema declared.
No examples provided.
analyze_docker ~45
Audit Dockerfiles: base images, stages, exposed ports, ENV/ARG, cross-ref with config files.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
build_commit_summary ~68
Compact commit/review narrative with stats, hotspots, suggested type.
| Name | Type | Req | Description |
|---|---|---|---|
| changed_files | array | yes | – |
| max_files | integer | – | Default 20. |
| max_symbols_per_file | integer | – | Default 20. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
capture_aggregate ~88
Aggregate over a capture: stats|count_lines|unique_lines|extract:<re>|count:<re>.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | – |
| pattern | string | – | Regex when transform is 'extract' or 'count' without inline regex. |
| transform | string | – | stats (default) | count_lines | unique_lines | extract | count | extract:<regex> | count:<regex> |
No output schema declared.
No examples provided.
capture_get ~71
Read a capture (range: head/tail/all/preview/line:N-M).
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Capture id (from search/list). |
| max_bytes | integer | – | Cap returned content size. |
| range | string | – | head | tail | all | preview | line:start-end (default preview). |
No output schema declared.
No examples provided.
capture_list ~53
List recent captures (newest first).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max rows (default 50). |
| project_root | string | – | – |
| session_id | string | – | – |
| tool_name | string | – | – |
No output schema declared.
No examples provided.
capture_purge ~51
Delete captures by age/session/project (filter required).
| Name | Type | Req | Description |
|---|---|---|---|
| older_than_sec | integer | – | Delete captures older than this many seconds. |
| project_root | string | – | – |
| session_id | string | – | – |
No output schema declared.
No examples provided.
capture_put ~127
Sandbox a verbose tool output to FTS5 store; returns id + preview.
| Name | Type | Req | Description |
|---|---|---|---|
| args_summary | string | – | Short human description of the call (URL, command, query). |
| meta | object | – | Free-form metadata stored alongside the capture. |
| output | string | yes | Full raw output to capture. |
| project_root | string | – | Optional active project root. |
| session_id | string | – | Optional session id to scope retrieval. |
| tool_name | string | yes | Logical tool name (e.g. 'Bash', 'WebFetch', 'mcp__playwright__snapshot'). |
No output schema declared.
No examples provided.
capture_search ~85
BM25 search across sandboxed tool outputs. Returns id, snippet, bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max rows (default 20). |
| project_root | string | – | – |
| query | string | yes | FTS5 query (terms ANDed by default). |
| session_id | string | – | – |
| tool_name | string | – | Restrict to a single source tool. |
No output schema declared.
No examples provided.
checkpoint ~134
Unified checkpoint CRUD. op = create | list (default) | restore | delete | prune | compare.
| Name | Type | Req | Description |
|---|---|---|---|
| checkpoint_id | string | – | For op=restore/delete/compare: checkpoint identifier. |
| file_paths | array | – | For op=create: project files to snapshot. |
| keep_last | integer | – | For op=prune: how many recent checkpoints to keep (default 10). |
| max_files | integer | – | For op=compare: max files compared (default 20). |
| op | string | – | Operation to perform (default 'list'). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
corpus_build ~70
Build a thematic corpus from observations filtered by type / tags / symbol.
| Name | Type | Req | Description |
|---|---|---|---|
| filter_symbol | string | – | – |
| filter_tags | array | – | – |
| filter_type | string | – | – |
| name | string | yes | Unique per project. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
corpus_query ~68
Format all observations of a named corpus as markdown context + a question, ready for answering.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Corpus name previously built via corpus_build. |
| project | string | – | Project name/path (default: active). |
| question | string | yes | Question to answer with the corpus context. |
No output schema declared.
No examples provided.
detect_breaking_changes ~75
Breaking API changes vs a git ref: removed funcs/params, added required params, signature changes.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name/path (default: active). |
| since_ref | string | – | Git ref to compare against (default: "HEAD~1"). Can be a commit SHA, branch, or tag. |
No output schema declared.
No examples provided.
discover_project_actions ~42
Detect conventional project actions from build files (tests, lint, build, run) without executing.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
edit_lines_in_symbol ~137
Exact string-replace inside an indexed symbol's body (like Edit but symbol-scoped, no Read first needed).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | – | Optional file path to disambiguate symbols. |
| new_string | string | yes | Replacement text. |
| old_string | string | yes | Exact text to find inside the symbol body (must be unique within the symbol unless replace_all=true). |
| project | string | – | Project name/path (default: active). |
| replace_all | boolean | – | If true, replace every occurrence in the symbol body (default false). |
| symbol_name | string | yes | Function/method/class name to edit inside. |
No output schema declared.
No examples provided.
find_dead_code ~76
Project-wide audit of unreferenced functions/classes (zero callers, excludes entry points, tests, route handlers).
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | Maximum number of dead symbols to report (default: 20). Header always shows true total; raise for full audit. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
find_hotspots ~103
Rank functions by hotspot kind. complexity (all langs) | allocation (Java) | performance (Java).
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | Hotspot category (default 'complexity'). |
| max_results | integer | – | Maximum number of functions to report (default: 20). |
| min_score | number | – | Minimum score to include (default: 0 for complexity, 1 for Java kinds). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
find_impacted_test_files ~63
Infer pytest files likely impacted by changed files or symbols.
| Name | Type | Req | Description |
|---|---|---|---|
| changed_files | array | – | – |
| max_tests | integer | – | Default 20. |
| project | string | – | Project name/path (default: active). |
| symbol_names | array | – | – |
No output schema declared.
No examples provided.
find_import_cycles ~66
Detect import cycles (strongly-connected components) in the file-level import graph (Tarjan's).
| Name | Type | Req | Description |
|---|---|---|---|
| max_cycles | integer | – | Maximum number of cycles to return (default 20, 0 = unlimited). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
find_semantic_duplicates ~190
Find duplicate functions. method='ast' (fast, hash-based, catches copy-paste) or 'embedding' (Nomic cosine, catches conceptual clones, tagged sim=min..mean per cluster).
| Name | Type | Req | Description |
|---|---|---|---|
| max_groups | integer | – | Max duplicate groups to return (default 10). Raise for full audit. |
| method | string | – | ast (default, fast, exact) or embedding (slower, catches conceptual clones). Embedding reuses the symbol_vectors index from search_codebase(semantic=True) — first call triggers a ~2min reindex. |
| min_lines | integer | – | Skip functions shorter than this (default 2). Applies to method='ast'. |
| min_similarity | number | – | Cosine threshold for method='embedding' (default 0.90). Lower = more recall + more noise. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
find_symbol ~186
Locate a symbol: file, line, signature, minimal preview. Searches functions and classes by default — pass kinds=["variable"] for module globals, constants, and class attributes. A miss reports which kinds were searched.
| Name | Type | Req | Description |
|---|---|---|---|
| compress | boolean | – | Compact rows (default true). |
| hints | boolean | – | Add a `_hints` key with next-step tool calls (default true). |
| kinds | array | – | Symbol kinds to search. Default: function+class (plus variable when TOKEN_SAVIOR_VARIABLES=search). |
| level | integer | – | 0 full, 1 no preview, 2 minimal. |
| name | string | – | – |
| names | array | – | Batch mode: list of names (max 10). Returns {name: result} dict. Mutually exclusive with 'name'. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_call_chain ~99
Shortest dependency path between two symbols (BFS through the dep graph).
| Name | Type | Req | Description |
|---|---|---|---|
| from_name | string | yes | Starting symbol name. |
| level | integer | – | Per-hop verbosity: 0=full (source_preview), 1=sig+file, 2=minimal name+file+line. Default 2. |
| project | string | – | Project name/path (default: active). |
| to_name | string | yes | Target symbol name. |
No output schema declared.
No examples provided.
get_change_impact ~82
Impact analysis: direct + transitive dependents of a symbol.
| Name | Type | Req | Description |
|---|---|---|---|
| max_direct | integer | – | 0=all. |
| max_total_chars | integer | – | Default 50000. |
| max_transitive | integer | – | 0=all. |
| name | string | yes | – |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_changed_symbols ~74
Symbol-level summary of worktree changes (or HEAD vs ref).
| Name | Type | Req | Description |
|---|---|---|---|
| max_files | integer | – | Default 20. |
| max_symbols_per_file | integer | – | Default 20. |
| project | string | – | Project name/path (default: active). |
| ref | string | – | Compare base (omit=worktree). |
No output schema declared.
No examples provided.
get_class_source ~135
Fetch a class source body (including methods).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | – | – |
| force_full | boolean | – | Bypass symbol cache. |
| hints | boolean | – | Append a one-line get_full_context hint (default true). |
| level | integer | – | – |
| max_lines | integer | – | Cap lines (0=all, level=0 only). |
| name | string | – | – |
| names | array | – | Batch mode: list of names (max 10). Returns {name: result} dict. Mutually exclusive with 'name'. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_classes ~116
List classes (name, lines, methods, bases, file).
| Name | Type | Req | Description |
|---|---|---|---|
| compress | boolean | – | Compact rows (default true). |
| file_path | string | – | Filter to file (omit=all). |
| hints | boolean | – | Append a `_hints` entry with next-step tool calls (default true). |
| max_results | integer | – | Default 100. 0=unlimited. Truncated results carry a trailing `_truncated` marker with total count. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_db_schema ~107
Condensed SQL-migration snapshot: tables (cols, types, nullability, defaults), PKs, FKs, indexes, RLS policies.
| Name | Type | Req | Description |
|---|---|---|---|
| dialect | string | – | SQL dialect -- currently only 'postgres' is implemented. |
| migrations_dir | string | – | Relative or absolute path to the migrations directory (default: auto-detect). |
| project | string | – | Project name/path (default: active). |
| tables | array | – | Optional filter: only return these table names. |
No output schema declared.
No examples provided.
get_dependencies ~104
Outgoing deps of a symbol: what X calls/uses (downstream).
| Name | Type | Req | Description |
|---|---|---|---|
| compress | boolean | – | Compact rows (default true). |
| depth | integer | – | Transitive BFS depth (default 1). |
| max_results | integer | – | Default 100. 0=unlimited. Truncated results carry a trailing `_truncated` marker with total count. |
| name | string | yes | – |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_dependents ~80
Incoming deps: who calls/uses X, direct references only.
| Name | Type | Req | Description |
|---|---|---|---|
| compress | boolean | – | Compact rows (default true). |
| max_results | integer | – | 0=all. |
| max_total_chars | integer | – | Default 50000. |
| name | string | yes | – |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_edit_context ~72
Pre-edit bundle: source + direct deps + callers + same-file siblings + impacted tests.
| Name | Type | Req | Description |
|---|---|---|---|
| max_callers | integer | – | Default 10. |
| max_deps | integer | – | Default 10. |
| name | string | yes | – |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_entry_points ~61
Score functions by likelihood of being execution entry points: routes, handlers, main, exported APIs.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | Maximum number of entry points to return (default 20). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_env_usage ~87
Cross-reference an env var across code, .env files, and workflow configs. Shows where it's defined, read, written.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | Max results (0 = all, default 0). |
| project | string | – | Project name/path (default: active). |
| var_name | string | yes | Environment variable name (e.g. HELLOASSO_CLIENT_ID). |
No output schema declared.
No examples provided.
get_feature_files ~61
Files matching a feature keyword + traced imports, classified by role (core, test, config).
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | – |
| max_results | integer | – | 0=all. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_file_dependencies ~71
Files imported by this file (outgoing file-level import edges).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Relative path to the file. |
| max_results | integer | – | Maximum number of results to return (0 = unlimited, default 0). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_file_dependents ~71
Files that import this file (incoming file-level import edges).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Relative path to the file. |
| max_results | integer | – | Maximum number of results to return (0 = unlimited, default 0). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_full_context ~172
Symbol bundle: location + source + deps/dependents (depth=1) or + change_impact (depth=2).
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | 0=symbol+source, 1=+deps/dependents (default), 2=+change_impact. |
| max_lines | integer | – | Cap source lines (default 200). |
| mode | string | – | compact (default): source head 80 lines + deps/dependents as names only. full: raw payload. |
| name | string | – | Symbol name (function, method, class). |
| names | array | – | Batch mode: list of names (max 10). Returns {name: result} dict. Mutually exclusive with 'name'. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_function_source ~145
Fetch a function/method source body.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | – | – |
| force_full | boolean | – | Bypass symbol cache. |
| hints | boolean | – | Append a one-line get_full_context hint (default true). |
| level | integer | – | – |
| max_lines | integer | – | Cap lines (0=all, level=0 only). |
| name | string | – | Function or method (e.g. 'MyClass.method'). |
| names | array | – | Batch mode: list of names (max 10). Returns {name: result} dict. Mutually exclusive with 'name'. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_functions ~118
List functions in a file (file_path=...) or across the project.
| Name | Type | Req | Description |
|---|---|---|---|
| compress | boolean | – | Compact rows (default true). |
| file_path | string | – | Filter to file (omit=all). |
| hints | boolean | – | Append a `_hints` entry with next-step tool calls (default true). |
| max_results | integer | – | Default 100. 0=unlimited. Truncated results carry a trailing `_truncated` marker with total count. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_git_status ~41
Structured git status: branch, ahead/behind, staged, unstaged, untracked.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_imports ~91
List imports (module, names, line).
| Name | Type | Req | Description |
|---|---|---|---|
| compress | boolean | – | Compact rows (default true). |
| file_path | string | – | Filter to file (omit=all). |
| max_results | integer | – | Default 100. 0=unlimited. Truncated results carry a trailing `_truncated` marker with total count. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_project_summary ~38
Project overview: file count, packages, top classes/functions, infra dirs.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_routes ~64
Detect API routes and pages in a Next.js App Router project: path, file, HTTP methods, type.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | Max routes to return (0 = all, default 0). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_stats ~116
Unified stats dispatcher. category = usage (default) | session_budget | tca | dcp | linucb | warmstart | leiden | speculation | lattice.
| Name | Type | Req | Description |
|---|---|---|---|
| budget_tokens | integer | – | For category=session_budget: soft budget cap (default 200000). |
| category | string | – | Which stats subsystem to report (default 'usage'). |
| context_type | string | – | For category=lattice: filter to one context (navigation/edit/review/unknown). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
get_structure_summary ~67
Structure of one file (functions, classes, imports, line counts), or project-wide if file omitted.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | – | Relative path to a file in the project. Omit for project-level summary. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
insert_near_symbol ~73
Insert content before or after an indexed symbol.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | – |
| file_path | string | – | – |
| position | string | – | 'before' or 'after' (default after). |
| project | string | – | Project name/path (default: active). |
| symbol_name | string | yes | – |
No output schema declared.
No examples provided.
list_files ~69
List indexed files, optionally filtered by glob.
| Name | Type | Req | Description |
|---|---|---|---|
| max_results | integer | – | Maximum number of results to return (0 = unlimited, default 0). |
| pattern | string | – | Glob pattern to filter files (uses fnmatch). |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
list_projects ~17
List all registered workspace projects with index status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
memory_admin ~100
Single dispatch for all memory admin / maintenance ops (status, doctor, dedup_sweep, distill, roi_gc, consistency, vector_reindex, etc.).
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | Preview-only mode for sweeps/garbage collectors. |
| limit | integer | – | Pagination/limit (where applicable). |
| op | string | yes | Which memory-admin sub-operation to run. |
| project_root | string | – | Filter by project (where applicable). |
No output schema declared.
No examples provided.
memory_delete ~45
Soft-delete an observation by ID (sets archived=1).
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Observation ID to archive. |
| project | string | – | Project name/path (default: active). |
No output schema declared.
No examples provided.
What is the io.github.Mibayy/token-savior MCP server?
io.github.Mibayy/token-savior is an MCP server listed in the public MCP registry as io.github.Mibayy/token-savior. Structural codebase MCP server with persistent memory: navigate by symbol, recall across sessions. This page covers its PyPI package (token-savior-recall).
Is the io.github.Mibayy/token-savior MCP server safe to use?
io.github.Mibayy/token-savior scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.Mibayy/token-savior MCP server expose?
io.github.Mibayy/token-savior exposes 69 tools: list_projects, switch_project, get_git_status, get_changed_symbols, build_commit_summary, and 64 more. Their descriptions and schemas cost roughly 6,320 tokens of context every time the server is loaded.
Is the io.github.Mibayy/token-savior MCP server still maintained?
io.github.Mibayy/token-savior is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.Mibayy/token-savior MCP server under?
io.github.Mibayy/token-savior declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.