LearnOneTech MCP
Click on "Deploy 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., "@LearnOneTech MCPFind recent articles about Samsung FRP on LearnOneTech"
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.
LearnOneTech MCP
An MCP server and Cursor plugin for LearnOneTech. It lets Cursor and other MCP-compatible clients search and retrieve the site's public technology, Android, mobile, FRP, apps, and troubleshooting content through the WordPress REST API.
Features
Search LearnOneTech articles by keyword
Browse recent articles
Retrieve an article by WordPress ID or slug
List article categories
Search public posts and pages
Return basic site information
Includes a dedicated
learnonetech-researchCursor skillNo API key required for public content
Uses MCP over stdio
Related MCP server: WordPress MCP
MCP tools
Tool | Purpose |
| LearnOneTech site and API information |
| Search articles by keyword |
| Browse recent articles |
| Read an article by ID or slug |
| List public article categories |
| Search public posts and pages |
Cursor Skill
The repository includes learnonetech-research, a Cursor skill that teaches the agent when and how to use the LearnOneTech MCP tools. It helps Cursor discover relevant articles, retrieve full content when necessary, preserve canonical source URLs, and distinguish retrieved LearnOneTech information from general knowledge.
Skill location:
.cursor-plugin/skills/learnonetech-research/SKILL.md
Cursor installation
Install this repository as an MCP server in Cursor with:
{
"mcpServers": {
"learnonetech": {
"command": "npx",
"args": ["-y", "github:arifaidev/learnonetech-mcp"]
}
}
}The repository also includes .cursor-plugin/plugin.json, mcp.json, and cursor-directory.json for Cursor ecosystem discovery.
Example prompts
Search LearnOneTech for Samsung FRP articles.
Find the latest Android troubleshooting articles on LearnOneTech.
Find LearnOneTech guides for a Samsung Galaxy model.
Read a LearnOneTech article by slug.
List LearnOneTech categories related to Android.
Search LearnOneTech pages for a troubleshooting topic.
Data source
The server reads publicly available content from:
https://learnonetech.com/wp-json/wp/v2
The MCP is a retrieval layer. It does not authenticate users, unlock devices, or bypass security controls itself.
Local development
Requirements: Node.js 18+
npm install
npm startResponsible use
Use device-recovery and FRP-related information only for devices you own or are authorized to service. Follow applicable laws and LearnOneTech's responsible-use guidance.
License
MIT
Available Tools
6 toolsget_articleA
Retrieve a LearnOneTech article by numeric WordPress post ID or exact slug. Returns cleaned readable text plus the canonical URL.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| slug | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden, and it does state the key output behavior: returns cleaned readable text plus the canonical URL. It does not discuss not-found behavior or authentication, but for a simple read-only fetch it gives enough behavioral context.
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?
Two short sentences front-load the action and identifier options, then state the return value. There is no filler and every clause contributes useful information.
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?
For a two-parameter fetch tool with no output schema, the description adequately covers the resource, lookup keys, and return content. It lacks explicit not-found behavior and a clear 'provide one of id or slug' note, but it is otherwise complete enough for correct invocation.
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 description coverage is 0%, so the description's mention of 'numeric WordPress post ID' and 'exact slug' adds real meaning beyond the raw property names id and slug. It could clarify precedence if both are supplied or note that one is required, but both parameters are otherwise meaningfully explained.
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 opens with the verb 'Retrieve' and names the resource ('LearnOneTech article'), then specifies the two lookup keys: numeric WordPress post ID or exact slug. This makes it distinct from sibling search/list tools, which are not single-article lookups by identifier.
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 numeric WordPress post ID or exact slug' implies this tool is for callers who already have one of those identifiers. It does not explicitly state when to prefer this over search_articles or list_articles, nor does it give exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_articlesB
List recent LearnOneTech articles with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | ||
| category_id | No | Optional WordPress category ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the behavioral disclosure. 'List' implies a read-only operation, and 'recent' plus 'paginaation' provides some ordering/pageination context. However, it does not mention response shape, authorization, or whether the list is limited to published content.
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?
A single sentence with no redundant words; the action and resource appear first. It is appropriately terse, though it could have added sibling differentiation without bloating.
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?
With no output schema and no annotations, the description leaves important details uncovered: returned fields, ordering semantics, and how pagination is represented in responses. The optional category filter is only discoverable via schema inspection, and there is no guidance on how this tool relates to search_articles.
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?
The description's mention of pagination adds meaning to the page and per_page parameters, which lack schema descriptions. It does not mention category_id, but that parameter already has a clear schema description ('Optional WordPress category ID'), so the schema covers that gap.
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 specifies a clear verb ('List'), a resource ('LearnOneTech articles'), and scope ('recent', 'pagination'), which lets an agent identify what the tool does. It is distinct from search_articles and get_article because it is a listing operation, though it does not explicitly contrast with siblings.
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?
No guidance is given for when to choose list_articles over search_articles, get_article, or list_categories. The description does not state whether 'recent' means all articles, published-only articles, or how pagination interacts with filtering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesC
List LearnOneTech WordPress article categories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It only says 'list', implying a read operation, but says nothing about pagination, ordering, response shape, or whether empty categories are included.
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 description is one short sentence, front-loaded with the action and resource, with no filler. It is appropriately sized for such a simple tool.
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?
The tool is simple and the optional limit is in the schema, so this is minimally viable for calling it. However, with no output schema or annotations, the description omits response format and behavioral details that would fully prepare an agent.
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?
The schema has a single optional 'limit' parameter with clear numeric constraints, but the description adds no meaning beyond that. With 0% schema description coverage, the description should have compensated by mentioning the parameter or its effect.
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 action ('List') and resource ('LearnOneTech WordPress article categories'), making it clear this tool returns categories rather than articles or site info. It is distinguishable from siblings like list_articles, though it doesn't explicitly contrast itself.
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?
No guidance is provided on when to use this tool versus siblings such as search_articles or list_articles. The description implies category retrieval but does not state use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_articlesB
Search LearnOneTech articles by keyword. Returns titles, excerpts, dates and URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| query | Yes | Keyword or phrase to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It usefully discloses that results are summaries containing titles, excerpts, dates, and URLs rather than full articles, implying a read operation. However, it does not describe search scope, ordering, pagination, or whether the match is on full text or just titles.
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 description is a single front-loaded sentence that conveys the action, resource, and return fields with no filler. 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?
For a simple two-parameter search tool with full schema coverage and no output schema, the description covers the key return fields and search intent. The main missing context is disambiguation from search_site and list_articles, but the tool itself can still be invoked correctly with the schema alone.
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 description coverage is 100%, so both query and limit are already documented with their constraints and defaults. The description only echoes 'keyword' and adds no meaning beyond what the schema already provides, making the baseline 3 appropriate.
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 action ('Search') on a clear resource ('LearnOneTech articles') with a defining dimension ('by keyword'), so the purpose is immediately understandable. However, it does not differentiate itself from the sibling search_site, so it stops short of full distinction.
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?
There is no guidance on when to use this tool versus search_site, list_articles, or get_article. The description implies keyword-based search but never provides when-to-use/when-not-to-use context or names alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_siteA
Search LearnOneTech posts and pages using WordPress's public search endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It notes the endpoint is 'public,' implying no authentication and a typical read-only WordPress search, but it does not explicitly confirm read-only behavior, response structure, pagination, or rate limits. The naming and context do some work, but gaps remain.
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 description is a single, focused sentence with no filler. It front-loads the core action and resource before mentioning the endpoint, making it immediately scannable and efficient.
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?
For a simple two-parameter search tool, the description is minimally adequate: it names the resource and endpoint, and the schema defines the required query and optional limit. However, there is no output schema and no explanation of return format or limit behavior, so an agent must infer important details. It is not severely incomplete, but it leaves clear gaps.
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 description coverage is 0%, so the description must compensate for undocumented parameters. It does not mention 'limit' or the query syntax, and the 'query' parameter is only inferred from the verb 'Search.' The schema provides types and constraints, but the description adds little to parameter understanding.
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 clearly states the action ('Search'), the resource ('LearnOneTech posts and pages'), and the mechanism ('WordPress's public search endpoint'). It differentiates from the sibling 'search_articles' by spanning both posts and pages, making the distinction easy to identify.
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 implies a site-wide search across posts and pages, and the sibling list suggests 'search_articles' is more specific. However, it does not explicitly state when to prefer this tool over alternatives or mention any exclusions or edge cases, leaving the choice inferable rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_infoA
Get basic information about LearnOneTech and its public WordPress API.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys a non-mutating, likely public operation, but it does not specify what 'basic information' includes, error behavior, or response format. This is adequate for a read-only info endpoint but leaves meaningful details unstated.
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 description is a single, front-loaded sentence with no filler. It efficiently captures the tool's action and resource in an appropriately minimal way for a parameterless introspection tool.
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?
With no parameters, no output schema, and no dependencies, the description is mostly sufficient for invoking the tool. However, the phrase 'basic information' is vague and the return contents are not specified, leaving the agent somewhat uncertain about what the result will contain.
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?
The tool has zero parameters, so there is nothing for the description to add beyond the schema. Per the baseline for 0-parameter tools, a score of 4 is appropriate, and the description does not introduce any confusion about inputs.
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 clearly states a verb ('Get') and a specific resource ('basic information about LearnOneTech and its public WordPress API'). This distinguishes it from sibling tools that handle articles, categories, or site search, so an agent can tell it apart without opening schemas.
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 implies when the tool is relevant—when site/API-level information is needed—but it gives no explicit guidance on when to use it versus alternatives. There are no exclusions or mentions of sibling tools, so the agent must infer usage from the tool's purpose.
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.
6 tool updates
v1.0.0- First observed
get_article - First observed
list_articles - First observed
list_categories - First observed
search_articles - First observed
search_site - First observed
site_info
TDQS
Scored across 6 tools
Most tools are clearly distinct, but search_articles and search_site overlap significantly since search_site also searches posts (articles) in addition to pages. The descriptions help clarify the difference, but an agent could still be uncertain which search tool to use.
Five tools follow a clear verb_noun pattern: search_articles, list_articles, get_article, list_categories, search_site. site_info breaks the pattern by using noun_noun instead of get_site_info or similar, creating a minor inconsistency.
Six tools is a well-scoped count for a content retrieval server. Each tool covers a distinct aspect of browsing and searching the public WordPress API without unnecessary bloat.
The core read-only article workflow is well covered: listing, searching, retrieving, and browsing categories. The main gap is that search_site can return pages but there is no get_page tool to retrieve a page's content, which is a minor dead end.
Maintenance
Related MCP Connectors
Secure MCP Server for WordPress connects AI assistants and agents to WordPress with secure, controlled access. It lets AI interact with WordPress through MCP while helping organizations manage access, enforce policies, protect non-human identities (NHI), and require human approval for sensitive actions. Use it to securely connect tools such as ChatGPT, Claude, and Cursor with WordPress. Marketplace Link: https://wordpress.org/plugins/miniorange-secure-mcp-server/ Official website: https://plugins.miniorange.com/mcp-server-ai-policy-enforcement-wordpress
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceOpen-source WordPress plugin that turns any site into a Streamable HTTP MCP server. Manage posts, WooCommerce, and more from Claude Code, Codex, or Cursor — no Node.js6GPL 2.0
- AlicenseNot gradedqualityCmaintenanceA comprehensive WordPress plugin that implements the Model Context Protocol (MCP) to expose WordPress functionality through standardized interfaces, enabling AI models and applications to interact with WordPress sites securely using multiple transport protocols and enterprise-grade authentication.36 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server for WordPress content management via REST API, supporting posts, pages, media, comments, and terms through natural language interfaces like Cursor, ChatGPT, Codex, and Claude.11 npmMIT
- AlicenseNot gradedqualityBmaintenanceTurns a WordPress site into a native MCP server: 39 structured tools for content, media, taxonomies, comments, widgets and site settings, with OAuth 2.1 + PKCE and per-call WordPress capability checks. Pure PHP inside WordPress — no bridge server or middleware to host.GPL 2.0