APICK Skills
Server Details
Search, quote and run reviewed Skills; points are charged only when a validated result returns
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- lead788/apick-mcp
- GitHub Stars
- 1
- Server Listing
- apick-mcp
TDQS
Scored across 6 tools
Each tool targets a distinct lifecycle stage (search, inspect, quote, run, status, cancel), so boundaries are mostly clear. There is mild overlap between get_skill and quote_skill, since get_skill also surfaces base/expected amounts, but the descriptions explain that quote_skill validates a specific input, resolving most confusion.
All names follow a consistent verb_noun snake_case pattern oriented around the 'skill' and 'skill_run' resources (search_skills, get_skill, get_skill_run, run_skill, cancel_skill_run, quote_skill). The only minor quirk is plural 'skills' in search_skills, which is readable and conventional for search.
Six tools is well-scoped for a skill marketplace/execution service, with each tool covering a necessary lifecycle step. No redundant or filler tools appear.
The surface covers discovery, inspection, cost quoting, execution, status polling, and cancellation, forming a coherent end-to-end run lifecycle including idempotency handling. Authoring/publishing or listing skills without a query is absent, but not essential for a consumer-facing execution flow.
Available Tools
6 toolscancel_skill_runSkill 실행 취소AIdempotentInspect
아직 끝나지 않은 실행을 취소합니다. 취소된 실행은 과금되지 않습니다. 이미 끝난 실행은 취소할 수 없습니다. [무료]
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | run_skill 이 돌려준 run_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real value beyond the annotations: it discloses that canceled runs are not billed and that completed runs cannot be canceled (reinforcing idempotency). Annotations already cover readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the billing and state constraints are the meaningful additions; error/response behavior remains 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?
Three tight sentences front-loaded with the primary action, followed by the cost note and the state limitation, plus a compact '[무료]' cost tag. Every sentence earns its place with no filler.
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 one-parameter cancellation tool with no output schema, the description covers action, cost implications, and the blocking condition, while annotations carry the safety profile. It is nearly complete, only omitting explicit error/confirmation behavior.
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% and the single run_id param is already documented as 'the run_id returned by run_skill'. The description adds no format or linkage detail beyond the schema, so baseline 3 applies.
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?
States a specific verb+resource ('아직 끝나지 않은 실행을 취소합니다' = cancels a not-yet-finished execution) and scopes it by run state. It does not explicitly name a sibling to contrast with, but the cancellation semantics are unambiguous.
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?
Gives clear when/when-not conditions: usable on unfinished runs, impossible on runs that have already completed. No alternative tool is named, so it falls short of a 5, but the operative constraint is spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillSkill 상세ARead-onlyInspect
Skill 의 입력·출력 형식, 기본 금액과 예상 금액, 처리 상한, 예제를 확인합니다. 실행 전에 입력 형식을 맞추는 데 씁니다. [무료]
| Name | Required | Description | Default |
|---|---|---|---|
| skill_id | Yes | search_skills 결과의 skill_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds non-obvious behavioral context: it is [무료] (no cost), and it enumerates the returned content (I/O format, base/expected amounts, processing cap, examples), which matters since no output schema exists.
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 plus a cost tag, purpose front-loaded ('Skill 의 입력·출력 형식...확인합니다') with the usage note second. No filler, though the return-content list is slightly dense.
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, the description carries the return-value burden and does so by listing the fields exposed. Combined with the free-cost disclosure and the pre-run usage note, an agent has enough to select and call it, though sibling differentiation is thin.
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?
Only one parameter and schema coverage is 100%, so the schema fully documents skill_id, including the hint that it comes from search_skills. The description adds nothing about the parameter, which is acceptable at this coverage level but not value-adding.
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 (확인합니다) plus resource (Skill) and an enumeration of what is exposed – 입출력 형식, 기본/예상 금액, 처리 상한, 예제. This makes retrieval scope clear, though it never names which sibling it differs from (e.g. quote_skill, which also concerns amounts).
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?
'실행 전에 입력 형식을 맞추는 데 씁니다' gives a real usage context (pre-run format alignment), but names no alternatives and leaves the overlap with quote_skill unexplained given both touch amounts. Implied rather than explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skill_runSkill 실행 조회BRead-onlyInspect
실행 상태와 과금 상태를 확인합니다. 성공한 실행은 결과를 함께 돌려줍니다. [무료]
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | run_skill 이 돌려준 run_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context—billing status is reported, successful runs include results, and the operation is free ([무료]). However, it does not disclose failure behavior, rate limits, or authentication requirements, so it adds moderate value above annotations.
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 consists of three short, front-loaded sentences with no wasted words: purpose, result behavior, and cost. Each sentence earns its place and the most important information comes first.
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 read-only tool with one required parameter, no output schema, and annotations covering safety, the description is nearly complete: it states what is checked, what is returned on success, and that it is free. The only notable gap is lack of guidance on when to choose this over sibling tools, but that does not prevent 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?
There is 1 parameter and schema description coverage is 100%, so the schema already fully documents run_id. The description does not add any parameter-specific meaning beyond what the schema provides. Baseline 3 is correct when schema coverage is high.
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 clear purpose: checking execution status and billing status of a Skill run, and notes that successful runs also return results. It distinguishes this from siblings like get_skill or run_skill implicitly by focusing on a specific run's status. It lacks an explicit sibling differentiation statement, so a 4 is appropriate.
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 does not state when to use this tool versus alternatives such as get_skill, cancel_skill_run, or search_skills. It implies polling a run after run_skill, but only the schema parameter description mentions run_skill, not the tool description itself. No exclusions or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_skillSkill 견적ARead-onlyInspect
실행 전 예상 금액 조회. 입력을 검사하고 이 입력으로 실행했을 때의 예상 금액(estimated_points)과 최대 금액(max_points)을 알려 줍니다. 실행하지 않으며 과금되지 않습니다. 결과는 5분 동안 유효합니다. [무료]
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Skill 의 input_schema 에 맞는 입력 객체 | |
| version | No | 버전. 생략하면 현재 게시 버전 | |
| skill_id | Yes | search_skills 결과의 skill_id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds genuinely useful behavior beyond them: it validates the input, performs no execution, incurs no charge, returns estimated_points and max_points, and states the result is only valid for 5 minutes. These are exactly the operational traits an agent needs and are not derivable from the annotations.
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?
Front-loaded with the core purpose, then layered with the constraints (no execution, no billing, 5-minute validity) in short, non-redundant clauses, ending with a compact [무료] tag. Nothing is wasted.
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, the description compensates by naming the return values (estimated_points, max_points) and the validity window, and it addresses the nested input object by stating validation against the skill's input_schema. An agent has everything needed to call this correctly and interpret the result.
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 skill_id (from search_skills), version, and the input object are already documented in the schema. The description only restates that the input is validated, adding no syntax or format detail beyond the structured fields; baseline 3 is 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?
States a specific verb and resource – 조회ing the estimated cost for a skill run – and immediately scopes it as a pre-execution preview. It is clearly distinguishable from run_skill (which presumably executes and charges) because it explicitly says it does not execute and does not bill.
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 opening phrase '실행 전 예상 금액 조회' establishes when to use it, and the return of estimated/max points gives the purpose of the call. It does not explicitly name run_skill as the alternative to reach for when an actual execution is wanted, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_skillSkill 실행AIdempotentInspect
Skill 을 실행합니다. 결과가 검증되어 반환될 때만 차감되고, 실패·시간초과·취소는 차감되지 않습니다. 차감 금액은 기본 금액에 실제 AI 사용 비용을 더한 값이며 billing.charged_points 로 알려 줍니다. 같은 idempotency_key 로 다시 보내면 새로 실행하지 않고 같은 실행을 돌려줍니다. 20초 안에 끝나지 않으면 run_id 만 돌려주므로 get_skill_run 으로 확인합니다. [실제 사용한 만큼 포인트 차감]
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Skill 의 input_schema 에 맞는 입력 객체 | |
| version | No | 버전. 생략하면 현재 게시 버전 | |
| quote_id | No | quote_skill 이 돌려준 번호 | |
| skill_id | Yes | search_skills 결과의 skill_id | |
| wait_seconds | No | 결과를 기다릴 시간(초). 기본 20 | |
| idempotency_key | Yes | 이 실행을 구분하는 고유 값. 재시도할 때 같은 값을 씁니다 | |
| max_cost_points | No | 최대 금액이 이 값보다 높으면 실행하지 않습니다. 실제 차감액은 이 값을 넘지 않습니다 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing billing semantics (charged only on verified results, not on failure/timeout/cancel), the charge formula, the field that reports it, and the timeout fallback behavior. These are exactly the operational traits an agent needs and none are derivable from the structured fields.
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?
Front-loads the action, then billing, then idempotency, then the timeout path — a sensible priority order. It is dense but every sentence carries distinct information; the bracketed tag at the end is minor redundancy.
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, the description carries the return burden and does name billing.charged_points and run_id, plus the exit path on timeout. It leaves the success-result payload shape implicit, which is a small gap for a tool that can return arbitrary skill outputs.
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 every parameter is already documented in the schema. The description adds idempotency_key behavior (repeat returns the same run), but says nothing extra about quote_id, max_cost_points, version, or wait_seconds. Baseline 3 applies.
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?
States a specific verb and resource ('Skill 을 실행합니다') that an agent can distinguish from get_skill_run (polling) and quote_skill (pricing). It does not explicitly name which sibling to avoid, but the function is unambiguous.
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?
Clearly explains retry semantics (same idempotency_key returns the same run rather than re-executing) and the follow-up path when the 20s wait elapses (use get_skill_run). It implies skill_id comes from search_skills via the schema, but doesn't spell out when to call quote_skill first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_skillsSkill 검색BRead-onlyInspect
하려는 작업에 맞는 Skill 을 검색합니다. 이름·요약·분류와 기본 금액·예상 금액(포인트), 사용 건수 구간·좋아요 수·평점을 돌려줍니다. sort 로 추천·인기·많이 쓴 순서를 고를 수 있습니다. [무료]
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 순서. recommended 추천, popular 인기, used 많이 사용, likes 좋아요순, rating 평점순, new 최신, mine 내가 자주 쓴, liked 내가 좋아요한. 생략하면 등록 순 | |
| limit | No | 한 번에 받을 개수(최대 20) | |
| query | No | 찾으려는 작업을 나타내는 검색어 | |
| cursor | No | 다음 페이지 커서 | |
| category | No | 분류 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavior beyond that: the shape of returned data and the explicit '[무료]' (free) tag, which tells the agent there is no cost to calling it. It does not cover pagination behavior despite a cursor param.
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?
Three short sentences, front-loaded with purpose then return shape then sort, ending with the cost tag. Efficient, with only minor overlap between the sort sentence and the schema's sort description.
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, the description usefully enumerates the returned fields (name, summary, category, price, usage bracket, likes, rating) and flags the tool as free. Given the fully documented 5-param schema, this is close to complete; only pagination/cursor behavior is unaddressed.
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% and both enums are fully documented in the schema, so the baseline is 3. The description restates the sort choices without adding syntax or default details beyond what the schema already provides.
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?
States a specific verb+resource (search Skills) and scopes it to a task the user wants to accomplish, plus enumerates what the results contain. It is clearly distinguishable from siblings like get_skill or run_skill, though it does not name them.
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?
Implies usage via '하려는 작업에 맞는 Skill 을 검색합니다' but gives no explicit when-to-use vs when-not, no prerequisites, and no reference to the alternative siblings (get_skill, quote_skill) that an agent must choose between.
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 tool update
- Changed
search_skills1 field changed- added
Input schema / properties / sortAdded value: +{ + "description": "순서. recommended 추천, popular 인기, used 많이 사용, likes 좋아요순, rating 평점순, new 최신, mine 내가 자주 쓴, liked 내가 좋아요한. 생략하면 등록 순", + "enum": [ + "recommended", + "popular", + "used", + "likes", + "rating", + "new", + "mine", + "liked" + ], + "type": "string" +}
6 tool updates
- First observed
cancel_skill_run - First observed
get_skill - First observed
get_skill_run - First observed
quote_skill - First observed
run_skill - First observed
search_skills
Related MCP Connectors
The governed runtime for agent skills. Search the catalog and inspect a skill before running it.
Search and retrieve reusable AI agent skills through SkillDB's authenticated MCP API. OAuth or an API key is required; full-content access depends on your plan.
Search and fetch skills from your org's Skills and Agents catalog. Bearer token required.
Search and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search, get info, call, and review paid AI skills on Skillz Market, with optional USDC payment on Base network.8 npm1-
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to search skills.sh, view leaderboards, inspect skill details, retrieve third-party security audits, and browse official curated skills, with install commands for each result.174 npmMIT
- FlicenseAqualityCmaintenanceProvides access to 462+ production-grade skills for AI-powered product building, enabling search, retrieval, and validation of skills across categories.51-
- AlicenseAqualityBmaintenanceLets AI agents search and discover skill files from a curated catalog to fill missing capabilities, providing download URLs for free items and purchase info for paid ones.34MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.