Skip to main content
Glama
arifaidev

LearnOneTech MCP

by arifaidev

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-research Cursor skill

  • No API key required for public content

  • Uses MCP over stdio

Related MCP server: WordPress MCP

MCP tools

Tool

Purpose

site_info

LearnOneTech site and API information

search_articles

Search articles by keyword

list_articles

Browse recent articles

get_article

Read an article by ID or slug

list_categories

List public article categories

search_site

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 start

Responsible 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 tools
get_articleA

Retrieve a LearnOneTech article by numeric WordPress post ID or exact slug. Returns cleaned readable text plus the canonical URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
slugNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo
category_idNoOptional WordPress category ID

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results
queryYesKeyword or phrase to search for

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 6 tool updatesv1.0.0
    • First observedget_article
    • First observedlist_articles
    • First observedlist_categories
    • First observedsearch_articles
    • First observedsearch_site
    • First observedsite_info

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP 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 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Turns 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