gyazocliSAFE
Fast, script-friendly CLI for Gyazo
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Gyazo Memory CLI for AI Secretary.
Install
npm i -g @yuiseki/gyazocli
Usage
gyazo config set token your_personal_gyazo_access_token_here gyazo sync --days 10 gyazo --help
Shorthands
The first argument may stand on its own when it is unambiguous. A Gyazo image ID is 32 hex characters, so it can never be mistaken for a path.
gyazo path/to/image.png # same as: gyazo upload path/to/image.png gyazo 49a008e2f254f513063b6ec4d3082940 # same as: gyazo get 49a008e2f254f513063b6ec4d3082940 gyazo https://gyazo.com/49a008e2f254f513063b6ec4d3082940 # same as above gyazo https://gyazo.com/collections/21ca16a1023c667a7a437be561a65018 # same as: gyazo collection
A collection ID is 32 hex characters just like an image ID, so a bare ID is read as an image. Only the /collections/ URL form is unambiguous. When a command is given the wrong kind of ID it points at the other one.
Subcommand names always win, so gyazo search stays gyazo search even if a file of that name exists in the working directory.
Detail
gyazo config set token: Save your access tokengyazo config get token|me: Show saved token (masked) ormeprofile infogyazo ls(gyazo list): List images (--date/--today,--photos,--uploaded,-Havailable;--photos/--uploadedcan be combined with--date/--today)gyazo search: Search imagesgyazo collection(col,cols,collections): Show a collection and the images in it (--sort added|created|captured,-A,-javailable).--idsprints just the image IDs, one per line, to pipe intorestore; with cookies (the default lookup or--cookies) it reads the real IDs even for withheld imagesgyazo get: Show image details (--ocr,--objects,-javailable). Accepts a bare image ID, ahttps://gyazo.com/permalink, or a `https://i
410e926bb99aOBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add gyazocli --env GYAZO_ACCESS_TOKEN=${GYAZO_ACCESS_TOKEN} --env GYAZO_CLIENT_SECRET=${GYAZO_CLIENT_SECRET} -- npx -y @yuiseki/[email protected]{
"mcpServers": {
"gyazocli": {
"command": "npx",
"args": [
"-y",
"@yuiseki/[email protected]"
],
"env": {
"GYAZO_ACCESS_TOKEN": "${GYAZO_ACCESS_TOKEN}",
"GYAZO_CLIENT_SECRET": "${GYAZO_CLIENT_SECRET}"
}
}
}
}Exposed tools (9)
9 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
gyazo_collection | read | |
gyazo_collections | read | |
gyazo_image | read | |
gyazo_image_content | read | |
gyazo_latest_image | read | |
gyazo_list | read | |
gyazo_recent | read | |
gyazo_search | read | |
gyazo_summary | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (9)
const key = crypto.createHash('sha1').update(query).digest('hex');const url = new URL(req.url || '', 'http://127.0.0.1');
.map((r) => new URL(r.url, 'http://127.0.0.1').searchParams.get('page'));const url = new URL(req.url || '', 'http://127.0.0.1');
const url = new URL(req.url || '', 'http://127.0.0.1');
.map((r) => new URL(r.url, 'http://127.0.0.1').searchParams.get('page'));@modelcontextprotocol/sdk, axios, commander, dotenv, form-data, zod, @types/node, ts-node
- `gyazo download`: Fetch the image bodies for the records already in the cache, saving each as `<id>.<ext>` right next to its `<id>.json` (needs cookies: `i.gyazo.com` answers 503 to anyone without o
Gates applied: no_behavioural_pass, no_license.
410e926bb99afull audit observations/trust-audit/mcp-server/yuiseki__gyazocli.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | 410e926bb99a | SAFE | B | 89 | first audit |
Questions
What is the gyazocli MCP server?
Fast, script-friendly CLI for Gyazo
What tools does gyazocli expose?
9 in total: 9 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is gyazocli safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does gyazocli need?
It reads GYAZO_ACCESS_TOKEN and GYAZO_CLIENT_SECRET from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does gyazocli run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @yuiseki/gyazocli at 0.11.0.
How current is this page?
The grade is for one exact copy of the source (410e926bb99a), read on 2026-10-10. The repository is watched and re-audited when it changes.