OpenAPI to MCP Server
mcp-use/mcp-use
Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.
Generate TLPP REST endpoints using annotation-based routing (@Get, @Post, @Put, @Patch, @Delete) with the oRest object.
$ npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install totvs/engpro-advpl-tlpp-skills tlpp-rest-endpoint-generator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/totvs/engpro-advpl-tlpp-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/advpl-tlpp/tlpp-rest-endpoint-generator .claude/skills/tlpp-rest-endpoint-generator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "tlpp-rest-endpoint-generator" agent skill from https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generator into .claude/skills/tlpp-rest-endpoint-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlpp-rest-endpoint-generator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install totvs/engpro-advpl-tlpp-skills tlpp-rest-endpoint-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/totvs/engpro-advpl-tlpp-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/advpl-tlpp/tlpp-rest-endpoint-generator .agents/skills/tlpp-rest-endpoint-generator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tlpp-rest-endpoint-generator" agent skill from https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generator into .agents/skills/tlpp-rest-endpoint-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlpp-rest-endpoint-generator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install totvs/engpro-advpl-tlpp-skills tlpp-rest-endpoint-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/totvs/engpro-advpl-tlpp-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/advpl-tlpp/tlpp-rest-endpoint-generator .cursor/skills/tlpp-rest-endpoint-generator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tlpp-rest-endpoint-generator" agent skill from https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generator into .cursor/skills/tlpp-rest-endpoint-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlpp-rest-endpoint-generator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/totvs/engpro-advpl-tlpp-skills.git --path skills/advpl-tlpp/tlpp-rest-endpoint-generator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install totvs/engpro-advpl-tlpp-skills tlpp-rest-endpoint-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/totvs/engpro-advpl-tlpp-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/advpl-tlpp/tlpp-rest-endpoint-generator .gemini/skills/tlpp-rest-endpoint-generator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tlpp-rest-endpoint-generator" agent skill from https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generator into .gemini/skills/tlpp-rest-endpoint-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlpp-rest-endpoint-generator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install totvs/engpro-advpl-tlpp-skills tlpp-rest-endpoint-generatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/totvs/engpro-advpl-tlpp-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/advpl-tlpp/tlpp-rest-endpoint-generator .github/skills/tlpp-rest-endpoint-generator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tlpp-rest-endpoint-generator" agent skill from https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generator into .github/skills/tlpp-rest-endpoint-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlpp-rest-endpoint-generator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install totvs/engpro-advpl-tlpp-skills tlpp-rest-endpoint-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/totvs/engpro-advpl-tlpp-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/advpl-tlpp/tlpp-rest-endpoint-generator .opencode/skills/tlpp-rest-endpoint-generator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tlpp-rest-endpoint-generator" agent skill from https://github.com/totvs/engpro-advpl-tlpp-skills/tree/main/skills/advpl-tlpp/tlpp-rest-endpoint-generator into .opencode/skills/tlpp-rest-endpoint-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlpp-rest-endpoint-generator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tlpp-rest-endpoint-generatorGenerate TLPP REST endpoints using annotation-based routing (@Get, @Post, @Put, @Patch, @Delete) with the oRest object.
Tlpp REST Endpoint Generator is an agent skill from totvs/engpro-advpl-tlpp-skills. Generate TLPP REST endpoints using annotation-based routing (@Get, @Post, @Put, @Patch, @Delete) with the oRest object. Follows TOTVS API standards (TTALK) including pagination, error model, standard headers, and Swagger documentation. Use when user says 'create REST endpoint', 'TLPP REST', '@Get annotation', 'oRest endpoint'.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/tlpp-rest-endpoint-templates.md` and `references/ttalk-standards-and-configuration.md`).
It sits in Backend & APIs, covering REST APIs and OpenAPI specifications. It works with OpenAPI. The repository describes itself as: Repositório contendo skills para orientar desenvolvimento ADVPL/TLPP com agentes de IA. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3908e4e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are tlpp).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tlpp REST Endpoint Generator loads about 2.4k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 89 tokens; SKILL.md has 841 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from totvs/engpro-advpl-tlpp-skills at commit 3908e4e, republished under its MIT licence (© totvs). 841 words, ~2,407 tokens.
.claude/skills/tlpp-rest-endpoint-generator/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Generate production-ready TLPP REST endpoints using the native annotation-based REST framework. TLPP REST replaces the legacy WsRESTful pattern with a simpler, annotation-driven approach. Each endpoint is a function decorated with an HTTP verb annotation and uses the global oRest object to handle requests and responses.
Use this skill when:
@Get("/path"))oRest object to read the request and write the response| Annotation | HTTP Verb | Typical Use |
|---|---|---|
@Get("endpoint") | GET | Retrieve resource(s) |
@Post("endpoint") | POST | Create a new resource |
@Put("endpoint") | PUT | Full update of a resource |
@Patch("endpoint") | PATCH | Partial update of a resource |
@Delete("endpoint") | DELETE | Remove a resource |
Annotation properties:
endpoint (required): The URI path for the routedescription (optional): Description shown in Swagger docs// Minimal form (endpoint only)
@Get("/api/v1/customers")
// Full form (named properties)
@Get(endpoint="/api/v1/customers", description="List all customers")The oRest object is a global object available inside any annotated REST function. It provides all methods for reading requests and writing responses.
| Method | Returns | Description |
|---|---|---|
oRest:getQueryRequest() | Json | Query string parameters (?key=value) |
oRest:getBodyRequest() | Character | Raw request body as string |
oRest:getPathParamsRequest() | Json | Path parameters (e.g., :id) |
oRest:getHeaderRequest() | Json | All request headers |
oRest:getClientIP() | Character | Client IP address |
| Method | Parameters | Description |
|---|---|---|
oRest:setResponse(cBody) | Character | Set response body (concatenates if called multiple times) |
oRest:setStatusResponse(nCode, cBody) | Numeric, Character | Set HTTP status code and body; returns Logical |
oRest:setKeyHeaderResponse(cKey, cValue) | Character, Character | Set a response header |
oRest:updateKeyHeaderResponse(cKey, cValue) | Character, Character | Update an existing response header |
oRest:resetResponse() | — | Clear the response body |
oRest:getBodyResponse() | — | Get current response body |
Use :paramName syntax in the endpoint path to define path parameters:
@Get("/api/v1/customers/:id")
User Function getCustomer() as Logical
Local jPathParams := oRest:getPathParamsRequest() as Json
Local cId := jPathParams["id"] as Character
// ...
Return oRest:setStatusResponse(200, cResponse)This skill uses progressive disclosure. The SKILL.md body covers the architecture, decision logic, and the generation checklist. Detailed endpoint templates, TTALK standards, and troubleshooting are in the references/ directory — read them on demand based on the scenario:
| Reference File | When to Read | Content |
|---|---|---|
| references/tlpp-rest-endpoint-templates.md | Generating any CRUD endpoint — GET list (paginated), GET by ID, POST, PUT, or DELETE | Full code templates for all 5 HTTP verbs, shared helper functions (BuildErrorResponse, BuildValidationErrorResponse) |
| references/ttalk-standards-and-configuration.md | Checking TTALK response formats, HTTP status codes, REST server appserver.ini configuration, or debugging endpoint issues | TTALK collection/error JSON formats, pagination query parameters, status code table, appserver.ini REST section, troubleshooting guide |
Also refer to references/sonarqube-rules-reference.md for the complete SonarQube rules reference shared across skills.
Determine from the user's request:
/api/v1/customers)Read references/tlpp-rest-endpoint-templates.md for the code templates matching the required verb(s). Adapt the templates to the target entity by replacing table aliases, field names, and namespace.
For TOTVS-ecosystem APIs, read references/ttalk-standards-and-configuration.md to ensure responses follow the standard collection format, error model, and HTTP status codes.
Use the checklist below to verify the generated code covers all requirements.
#include "tlpp-core.th" is the first includeNamespace declaration matches project convention/api/v1/{resource}):paramName syntaxoRest:getPathParamsRequest()oRest:getQueryRequest()FWExecStatement)Content-Type header set to application/jsonhasNext, items, remainingRecords)RecLock() and released with MsUnlock()D_E_L_E_T_ filter always included in queriesFWxFilial) always includedDBCloseArea()FWExecStatement)Try-Catch wraps database operationsFWLogMsg() including function contextRpcSetEnv / RpcSetType calls in REST endpoint functions — use REST Server PrepareIn configuration instead__cUserID or cEmpAnt — these are protected system variablesStaticCall() — use FWLoadModel(), FWLoadMenuDef(), or namespace-based callsFWExecStatement used for all queries with dynamic parametersFWLogMsg(), not ConOut()IIF() — use If/Else/EndIf blocksGetMV() / ExistBlock() calls moved outside of loopsMsgAlert, MsgYesNo, Aviso, Help) inside transaction-scoped handlers#include "totvs.ch")Refer to references/sonarqube-rules-reference.md for the complete SonarQube rules reference.
© totvs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/advpl-tlpp/tlpp-rest-endpoint-generator of totvs/engpro-advpl-tlpp-skills.
Open the folder on GitHubat commit 3908e4e
Tlpp REST Endpoint Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tlpp REST Endpoint Generator this skilltotvs/engpro-advpl-tlpp-skills | 143 | — | ~2.4k | Automated safety check: Pass | MIT | |
| OpenAPI to MCP Servermcp-use/mcp-use | 11k | — | ~5.2k | Automated safety check: Pass | Apache-2.0 | |
| Use Yaakmountain-loop/yaak | 19k | — | ~1.9k | Automated safety check: Pass | MIT | |
| API DesignerJeffallan/claude-skills | 12k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Old Coder API DesignAmazingAng/old-coder | 749 | — | ~3.4k | Automated safety check: Pass | MIT | |
| API CallerNVIDIA/SkillEvaluator | 552 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 |
mcp-use/mcp-use
Turns an OpenAPI or Swagger spec into an MCP server with the mcp-use TypeScript SDK, mapping each operation to a tool, wiring auth, testing and deploying.
mountain-loop/yaak
A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…
Jeffallan/claude-skills
Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.
AmazingAng/old-coder
Reviews or designs an HTTP/JSON API's endpoints, auth, pagination, versioning and deprecations, guarding against inventing a bespoke interface or silently breaking consumers.
NVIDIA/SkillEvaluator
Call any REST API dynamically. An agent skill from NVIDIA/SkillEvaluator.
trycompai/comp
The contract every new or modified API endpoint must follow so it is correct for the public OpenAPI spec, the MCP server (npm @trycompai/mcp-server), the ValidationPipe, and the docs.
totvs/engpro-advpl-tlpp-skills
Converts AdvPL and TLPP source files from UTF-8 to Windows-1252 in place after code generation, because the Protheus compiler accepts only CP1252 files.
totvs/engpro-advpl-tlpp-skills
Compiles AdvPL and TLPP sources from VS Code with the TOTVS Developer Studio extension, handling server setup, connection and compile result reporting.
totvs/engpro-advpl-tlpp-skills
Plans and builds Protheus AdvPL/TLPP features through Specify, Design, Tasks and Execute phases whose depth scales with the size of the change.
totvs/engpro-advpl-tlpp-skills
Reviews AdvPL and TLPP source against SonarQube rules, ProtheusDOC requirements, security, performance and Protheus conventions, and reports findings by severity.
totvs/engpro-advpl-tlpp-skills
Queries the TOTVS Protheus ERP data dictionary for tables, fields, indexes, parameters, triggers and lookups, including impact checks during refactoring.
totvs/engpro-advpl-tlpp-skills
Generates Protheus MVC screens in ADVPL/TLPP, with ModelDef, ViewDef, MenuDef and Browse functions for single-entity and master-detail layouts.
Works with
Categories
Generate TLPP REST endpoints using annotation-based routing (@Get, @Post, @Put, @Patch, @Delete) with the oRest object. Tlpp REST Endpoint Generator is an agent skill from totvs/engpro-advpl-tlpp-skills. Generate TLPP REST endpoints using annotation-based routing (@Get, @Post, @Put, @Patch, @Delete) with the oRest object.
Tlpp REST Endpoint Generator fits situations like: user says create REST endpoint; @Get annotation.
Run `npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a claude-code`. Or copy the skill folder (skills/advpl-tlpp/tlpp-rest-endpoint-generator in totvs/engpro-advpl-tlpp-skills) into .claude/skills/tlpp-rest-endpoint-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a codex`. Or copy the skill folder (skills/advpl-tlpp/tlpp-rest-endpoint-generator in totvs/engpro-advpl-tlpp-skills) into .agents/skills/tlpp-rest-endpoint-generator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add totvs/engpro-advpl-tlpp-skills --skill tlpp-rest-endpoint-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tlpp-rest-endpoint-generator, .gemini/skills/tlpp-rest-endpoint-generator, .github/skills/tlpp-rest-endpoint-generator and .opencode/skills/tlpp-rest-endpoint-generator in your project.
SKILL.md names no scripts, command-line tools or credentials: Tlpp REST Endpoint Generator is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Tlpp REST Endpoint Generator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Tlpp REST Endpoint Generator: OpenAPI to MCP Server (mcp-use/mcp-use, 11k stars), Use Yaak (mountain-loop/yaak, 19k stars), API Designer (Jeffallan/claude-skills, 12k stars) and Old Coder API Design (AmazingAng/old-coder, 749 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
totvs (a GitHub organization) maintains it in totvs/engpro-advpl-tlpp-skills, which has 143 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 5, 2026.
Source: totvs/engpro-advpl-tlpp-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.