C411 MCP Server
The C411 MCP Server enables interaction with c411.org to search, retrieve, and download torrents through an authenticated session.
Search torrents (
search_c411): Search c411.org by query with category/subcategory filters, sorting (relevance, seeders, leechers, size, date, name, etc.), sort order, and pagination. Also supports listing the authenticated user's own uploads.Get torrent metadata (
get_c411_torrent_info): Retrieve detailed info for a specific torrent by itsinfoHash, including title, category, size, seeder/leecher counts, file list, uploader, creation date, TMDB data, trust scores, and flags like freeleech or exclusivity.Get torrent comments (
get_c411_torrent_comments): Fetch paginated comments for a torrent byinfoHash, including author info, timestamps, HTML/plain-text content, edit history, and reply threading.Download torrent files (
download_c411_torrent): Download a.torrentfile byinfoHashand save it to a specified local directory (defaults to/tmp).Automated session management: Logs in using
C411_USERNAMEandC411_PASSWORDenvironment variables, reuses sessions, retries on expiry, and provides descriptive errors for missing credentials, invalid credentials, or maintenance mode.
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., "@C411 MCP Serversearch for Ubuntu 24.04 ISOs and sort by seeders"
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.
C411 MCP Server
An MCP (Model Context Protocol) server for searching torrents on c411.org, fetching torrent metadata and comments, and downloading .torrent files.
Table of Contents
Related MCP server: RuTracker MCP Server
Features
Search torrents on c411.org
Get detailed torrent metadata by
infoHashGet paginated torrent comments by
infoHashDownload
.torrentfiles byinfoHashReuse authenticated sessions automatically
Retry expired auth with a small delay and bounded retry count
Distinguish missing credentials, invalid credentials, and maintenance-mode failures
Return structured search results with titles, sizes, seed counts, and
infoHashwhen available
Installation
npm installUsage
Running the server
The server uses stdio transport by default:
npm run devOr build and run:
npm run build
npm startAuthentication
C411.org requires authentication to access torrent listings. To enable login:
Set the following environment variables:
C411_USERNAME: Your c411.org usernameC411_PASSWORD: Your c411.org password
The server will automatically log in and maintain the session.
Without credentials, the server may not be able to retrieve search results.
Auth failure behavior
The server tries to return a more specific error when authentication fails:
Missing credentials: asks for
C411_USERNAMEandC411_PASSWORDInvalid credentials: reports that the username/password were rejected
Maintenance mode: reports that c411.org is temporarily unavailable
Network or timeout issues: returns a sanitized transport error without logging credentials
HTTP requests time out after 10 seconds.
MCP Client Configuration
To use this server with an MCP client (like Claude Desktop), add to your client configuration:
{
"mcpServers": {
"c411": {
"command": "node",
"args": ["/path/to/c411-mcp-server/build/index.js"],
"env": {
"C411_USERNAME": "your_username",
"C411_PASSWORD": "your_password"
}
}
}
}For OpenCode, configure the server in your OpenCode config under mcp using a local MCP entry:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"c411": {
"type": "local",
"command": ["node", "/path/to/c411-mcp-server/build/index.js"],
"enabled": true,
"environment": {
"C411_USERNAME": "your_username",
"C411_PASSWORD": "your_password"
}
}
}
}OpenCode documents MCP servers under the mcp key, with local servers using type: "local", a command array, and environment for env vars.
You can also add it from the OpenCode CLI:
opencode mcp addThen choose a local MCP server and enter the equivalent values:
name:
c411type:
localcommand:
node /path/to/c411-mcp-server/build/index.jsenvironment:
C411_USERNAME=your_usernameC411_PASSWORD=your_password
Afterward, you can verify it was added with:
opencode mcp listTools
search_c411
Search for torrents on c411.org.
Parameters:
query(string, required): Search query, trimmed, 1 to 200 characterscategory(string, optional): Category filter. One of1,2,3,4,5,6,7,10.subcat(string, optional): Sub-category filter. Only valid whencategoryis1.sortBy(string, optional): Sort criteria. One ofrelevance,seeders,leechers,size,createdAt,name,completions,comments,category. Defaults torelevance.sortOrder(string, optional): Sort order. One ofasc,desc. Defaults todesc.page(number, optional): Result page number. Defaults to1.perPage(number, optional): Number of results per page. Defaults to25, maximum100.
Returns: List of torrent results with titles, sizes, seed counts, and infoHash when available.
list_my_c411_uploads
List torrents uploaded by the current authenticated c411.org user.
Parameters:
query(string, optional): Search query, trimmed, 1 to 200 characters.category(string, optional): Category filter. One of1,2,3,4,5,6,7,10.subcat(string, optional): Sub-category filter. Only valid whencategoryis1.sortBy(string, optional): Sort criteria. One ofrelevance,seeders,leechers,size,createdAt,name,completions,comments,category. Defaults torelevance.sortOrder(string, optional): Sort order. One ofasc,desc. Defaults todesc.page(number, optional): Result page number. Defaults to1.perPage(number, optional): Number of results per page. Defaults to100, maximum100.
Returns: List of torrent results for the current user's uploads, using the same structure as search_c411.
get_c411_torrent_info
Get detailed metadata for a torrent on c411.org.
Parameters:
infoHash(string, required): The 40-character hexinfoHashof the torrent
Returns: Structured torrent metadata including title, category, size, seeder and leecher counts, completion count, uploader, creation date, file list, TMDB data when available, and trust information.
get_c411_torrent_comments
Get paginated comments for a torrent on c411.org.
Parameters:
infoHash(string, required): The 40-character hexinfoHashof the torrentpage(number, optional): Comment page number. Defaults to1.limit(number, optional): Number of comments per page. Defaults to20, maximum100.
Returns: Structured comment results with pagination metadata and normalized comment entries, including HTML content, plain-text content, author info, timestamps, and reply targets when present.
download_c411_torrent
Download a .torrent file from c411.org and save it to disk.
Parameters:
infoHash(string, required): The 40-character hex infoHash of the torrentoutputDir(string, optional): Directory where the.torrentfile should be saved. Defaults to/tmp.
Returns: The full path of the saved .torrent file.
Example:
infoHash: "178a3516f248e45f9857abbc2cbc8a8b20f29815"
outputDir: "/tmp"Project structure
src/index.ts: bootstrap only; creates the MCP server and starts stdiosrc/c411-client.ts: c411 auth, retries, search, torrent info, comments, and download logicsrc/register-tools.ts: MCP tool registrationsrc/formatters.ts: formatting and normalization helpers for search, torrent info, and commentssrc/http-response-utils.ts: response parsing and maintenance detection helperssrc/http-client.ts: isolated Axios + cookie-jar setupsrc/schemas.ts: Zod tool schemassrc/types.ts: shared TypeScript types
Development
npm run dev: Run in development mode with hot reloadnpm run build: Compile TypeScript to JavaScriptnpm start: Run the compiled server
Notes
This server is for personal use only
Respect c411.org's terms of service
Keep your credentials secure
The scraper may need updates if the website structure changes
Available Tools
4 toolsdownload_c411_torrentA
Download a .torrent file from c411.org by its infoHash and save it to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| infoHash | Yes | The 40-character hex infoHash of the torrent | |
| outputDir | No | Directory where the .torrent file should be saved. Defaults to /tmp. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| success | Yes | |
| filename | No | |
| savedPath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full disclosure burden. Successfully discloses the side effect ('save to disk'), indicating filesystem mutation. However, lacks details on idempotency, network requirements, error handling (e.g., invalid hash), or output structure despite having an output schema available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, dense sentence with zero waste. Front-loaded with the action verb, immediately communicating purpose. Every clause earns its place: source domain, identification method, and persistence mechanism are all efficiently packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriate for a 2-parameter tool with full schema coverage and existing output schema. Covers the essential 'what' and 'where to' aspects. Minor gap: could briefly mention the return value indicates success/failure or file path since annotations are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, establishing a baseline of 3. Description adds value by clarifying the infoHash's role in identifying the specific torrent to retrieve ('by its infoHash'), and implicitly connects the outputDir to the 'save to disk' action. Could mention the default /tmp behavior explicitly, but overall adds meaningful usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Excellent specificity: states the verb ('Download'), resource ('.torrent file'), source ('c411.org'), identifier ('by its infoHash'), and side effect ('save to disk'). Clearly distinguishes from siblings 'get_c411_torrent_info' and 'search_c411' through the explicit action of downloading vs retrieving metadata or searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides implied usage context through the specific action ('download... save to disk'), but lacks explicit when-to-use guidance contrasting with siblings. Does not state prerequisites (e.g., valid c411.org infoHash) or error conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_c411_torrent_commentsA
Get comments for a c411.org torrent by its infoHash.
| Name | Required | Description | Default |
|---|---|---|---|
| infoHash | Yes | The 40-character hex infoHash of the torrent | |
| page | No | Comment page number. Defaults to 1. | |
| limit | No | Number of comments per page. Defaults to 20. |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| error | No | |
| limit | Yes | |
| total | No | |
| comments | Yes | |
| infoHash | Yes | |
| totalPages | No | |
| resultCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, yet description fails to disclose behavioral traits: no mention of pagination behavior (despite page/limit params), rate limits, authentication requirements for c411.org, or handling of empty comment sets. 'Get' implies read-only but does not confirm it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single efficient sentence of 9 words. Front-loaded with verb, zero redundancy, every token carries meaning (domain, resource, identifier).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a read operation given 100% schema coverage and existence of output schema (which handles return value documentation). Could be improved by mentioning pagination or empty state handling, but functional for tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, establishing baseline 3. Description adds minimal semantics beyond schema—only linking infoHash to the retrieval operation via 'by its infoHash'. Schema already documents the 40-character hex pattern and pagination defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Get' + resource 'comments for a c411.org torrent' clearly identifies the operation. Explicitly distinguishes from siblings: targets comments (not download, info metadata, or search index) and specifies the external domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context by identifying the specific resource (comments) and required identifier (infoHash), implicitly distinguishing from sibling torrent operations. However, lacks explicit workflow guidance (e.g., 'use after search_c411 to retrieve infoHash').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_c411_torrent_infoA
Get detailed metadata for a c411.org torrent by its infoHash.
| Name | Required | Description | Default |
|---|---|---|---|
| infoHash | Yes | The 40-character hex infoHash of the torrent |
Output Schema
| Name | Required | Description |
|---|---|---|
| size | No | |
| tmdb | No | |
| error | No | |
| files | No | |
| title | No | |
| trust | No | |
| status | No | |
| seeders | No | |
| success | No | |
| category | No | |
| infoHash | Yes | |
| leechers | No | |
| uploader | No | |
| createdAt | No | |
| fileCount | No | |
| sizeBytes | No | |
| completions | No | |
| isExclusive | No | |
| isFreeleech | No | |
| subcategory | No | |
| descriptionHtml | No | |
| lowBitrateWarning | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full disclosure burden but only states it's a read operation ('Get') targeting metadata. It fails to disclose what 'detailed metadata' specifically includes, error conditions for invalid hashes, rate limits, or caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 10 words with zero waste. Front-loaded with action verb 'Get', immediately identifies the resource (c411.org torrent metadata), and specifies the lookup key (infoHash). Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriate for a simple 1-parameter tool with output schema present (no need to describe return values). Sufficient for invocation but could be improved by explicitly mentioning the sibling workflow (obtain hash via search_c411 first).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the infoHash parameter fully documented including pattern validation. The description mentions 'by its infoHash' but adds no semantic meaning beyond the schema's existing '40-character hex infoHash' description, meeting the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Get' with clear resource 'detailed metadata for a c411.org torrent' and scope identifier 'by its infoHash'. This clearly distinguishes from sibling download_c411_torrent (content vs metadata), get_c411_torrent_comments (metadata vs comments), and search_c411 (specific hash lookup vs broad search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by its infoHash' implicitly signals you must already possess the hash to use this tool, distinguishing it from search_c411. However, it lacks explicit guidance on the prerequisite workflow (search first, then this tool) or when to prefer alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_c411B
Search for torrents on c411.org
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for torrents | |
| sortBy | No | Sort criteria for the search results. Defaults to relevance. | relevance |
| sortOrder | No | Sort order for the search results. Defaults to desc. | desc |
| page | No | Result page number. Defaults to 1. | |
| perPage | No | Number of results per page. Defaults to 25. |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| error | No | |
| query | Yes | |
| total | No | |
| perPage | Yes | |
| results | Yes | |
| totalPages | No | |
| resultCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states nothing about network requirements, rate limits, authentication, idempotency, or whether results are cached. The minimal description offers no behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence 'Search for torrents on c411.org' is appropriately sized with zero redundancy. It is front-loaded with the action and contains no filler text, making it efficiently scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 100% parameter schema coverage and presence of an output schema, the description does not need to elaborate on return values or parameter details. However, it lacks mention of the typical workflow (search → download/info) that would complete the context for an agent selecting among the four related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema fully documents all 5 parameters (query, sortBy, sortOrder, page, perPage). The description adds no additional semantic information beyond what the schema provides, which warrants the baseline score for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and resource ('torrents on c411.org'), clearly identifying the tool's function. However, it does not explicitly differentiate from siblings like 'get_c411_torrent_info' (which retrieves specific torrent details by ID rather than searching).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It fails to mention that search results are typically prerequisite for using sibling tools like 'download_c411_torrent' or 'get_c411_torrent_info', or that this is the entry point for discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
download_c411_torrent - First observed
get_c411_torrent_comments - First observed
get_c411_torrent_info - First observed
search_c411
TDQS
Each tool has a clearly distinct purpose: downloading torrent files, retrieving comments, getting metadata, and searching. The descriptions specify unique actions on the same domain (c411.org torrents), with no overlap that would cause misselection.
All tool names follow a consistent verb_noun pattern with 'c411' as a prefix (e.g., download_c411_torrent, search_c411). The naming is uniform, using snake_case throughout and clear action descriptors.
With 4 tools, the server is well-scoped for interacting with a torrent search site. Each tool serves a distinct function (search, info, comments, download), making the count appropriate and efficient for the domain.
The toolset covers core operations for torrent discovery and retrieval (search, get info, get comments, download), with no obvious dead ends. A minor gap might be the lack of upload or management tools, but for a client-focused server, this is reasonable.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Breach intelligence API: email search, domain monitoring, passwords and stealer logs.
Fetch any URL as clean Markdown or metadata, and buy digital goods via x402 — for AI agents.
x402-gated web extraction gateway. Tools: extract, extract_batch.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables interaction with qBittorrent through its Web API to search for torrents using search plugins and manage downloads. Supports torrent searching, downloading via URLs/magnet links, and torrent management operations like pause, resume, and delete.73-
- FlicenseNot gradedqualityBmaintenanceAllows users to search and browse torrents on rutracker.org, retrieving detailed metadata including magnet links and file lists. It automatically handles authentication by extracting session cookies from the Brave browser on macOS.-
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with the M-Team private torrent tracker API for searching resources, retrieving torrent details, and downloading torrent files. It provides a bridge for Model Context Protocol clients to manage and access private tracker content through natural language.310MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching and downloading torrents from iptorrents.com using browser cookie-based authentication, with features like filtering, sorting, and freeleech detection.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/julien-nc/mcp-server-c411'
If you have feedback or need assistance with the MCP directory API, please join our Discord server