yamtrack-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@yamtrack-mcpsearch for movie Inception"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
yamtrack-mcp
A standalone Model Context Protocol server (stdio transport, TypeScript) that exposes the Yamtrack REST API as tools for LLMs (Claude Desktop, OpenCode, VS Code, Hermes, etc.).
Unlike the in-repo Python server (src/manage.py run_mcp, HTTP only), this one
runs on any machine and talks to a remote Yamtrack instance over its public
REST API. No Django code required.
Requirements
Node.js 18+ (developed on v22/v26)
A reachable Yamtrack instance (e.g.
http://localhost:8000or your hosted URL)An API token or a username/password for that instance
Related MCP server: Yandex Tracker MCP Server
Install & build
npm install # install dependencies
npm run build # compile src/ -> dist/ (strict TypeScript)Run
node dist/index.js --helpAuthentication
The server authenticates to Yamtrack with a Bearer token. Precedence:
--token <token>/ envYAMTRACK_JWT— a static account API token (recommended, never expires) or a JWT.--username+--password— mints a JWT at startup and auto-refreshes it on 401 (JWTs expire after 1h).
Option | Env var | Description |
|
| API base URL. Default |
|
| Static token or JWT |
| – | Username (mint JWT at startup) |
| – | Password (mint JWT at startup) |
| – | Show usage |
Read-only tools (search_media, get_details) work without authentication.
Tools
All tools map 1:1 to the REST API documented in wiki/API.md.
Tool | REST endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Enum values: media_type ∈ {tv, movie, anime, manga, game, book,
comic, boardgame, season}, status ∈ {Completed, In progress,
Planning, Paused, Dropped}, source ∈ {tmdb, mal, igdb,
openlibrary, mangaupdates, comicvine, custom}.
Client configuration
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"yamtrack": {
"command": "node",
"args": ["/abs/path/to/yamtrack-mcp/dist/index.js"],
"env": { "YAMTRACK_JWT": "<token>" }
}
}
}OpenCode (opencode.json)
{
"mcp": {
"servers": {
"yamtrack": {
"type": "stdio",
"command": "node",
"args": ["/abs/path/to/yamtrack-mcp/dist/index.js"],
"env": { "YAMTRACK_JWT": "<token>" }
}
}
}
}VS Code (.vscode/mcp.json) / Hermes (~/.hermes/config.yaml)
Same command/args shape; pass the token via the YAMTRACK_JWT env var.
Development
npm run verify # typecheck (tsc) + lint/format (biome) + tests (vitest)
npm run typecheck
npm run lint # biome check .
npm run format # biome format --write .
npm run test # vitest run
npm run dev # build + runIntegration tests (tests/server.test.ts) drive every tool against an in-process
mock REST API over InMemoryTransport, covering auth (static token, JWT login,
JWT auto-refresh on 401) and request/response shapes.
Project structure
yamtrack-mcp/
├── src/
│ ├── index.ts # Entry: McpServer + StdioServerTransport, CLI args
│ ├── client.ts # YamtrackClient: REST wrapper, Bearer auth, JWT refresh
│ └── tools.ts # Tool definitions mapped to REST endpoints (zod schemas)
├── tests/ # Integration tests with a mock REST API
├── biome.json # Lint + format config
├── tsconfig*.json # TypeScript (build + typecheck)
└── vitest.config.tsLicense
Part of the Yamtrack project. See the main repository license.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/URD0TH/yamtrack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server