tiktok-mcp
Server Quality Checklist
Latest release: v0.3.1
- Disambiguation4/5
Most tools have clearly distinct purposes (post, follow, like, delete, update_profile). Some potential confusion exists between tiktok_analytics and tiktok_series (both about analytics) and between tiktok_connect_status and tiktok_operation_status (both about status polling), but descriptions help differentiate them.
Naming Consistency3/5All tools share the tiktok_ prefix, but the suffixes mix verb_noun patterns (cancel_scheduled, update_profile) with bare nouns (scheduled, accounts, analytics). This is readable but not fully consistent; e.g., tiktok_scheduled could be list_scheduled, tiktok_accounts could be list_accounts.
Tool Count4/516 tools is on the higher end but appropriate for the breadth of TikTok operations: login, posting, scheduling, engagement, profile management, analytics, and content analysis. Each tool addresses a distinct need, so the count is justified.
Completeness4/5Core lifecycles are covered: login/connect, listing accounts, posting/scheduling/canceling, following/liking, deleting, updating profile/avatar, and analytics collection/reading. Obvious gaps exist like commenting, unfollowing, or retrieving video details, but they are workable gaps for a TikTok MCP.
Average 3.2/5 across 16 of 16 tools scored. Lowest: 2.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 12 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions data is stored locally, which hints at a read-only local operation, but it does not disclose side effects, return format, or whether network/api calls are involved. Significant behavioral ambiguity remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the main verb and object. It contains no filler, but it is under-specified for a tool with six optional parameters and no other documentation. Brevity is not sufficient when critical information is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters, no output schema, no annotations, and zero schema descriptions, this description is far too sparse. An agent cannot infer what inputs are needed, what the tool returns, or how the comparison is performed. The tool is functionally opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain any of the six parameters (tag, niche, caption, account_id, recency_days, maturity_days). Only 'caption openings' loosely maps to the 'caption' parameter, but no syntax, defaults, or relationships are described. The description fails to compensate for the schema's lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Compare caption openings against mature posts stored locally' clearly states a specific action (compare) and resource (caption openings vs mature posts), and distinguishes it from sibling tools like tiktok_post or tiktok_analytics. However, it lacks explanation of what constitutes 'mature posts' or 'hooks', so it is not fully precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, and no exclusions or prerequisites. It simply states the function. Without context signals or examples, an agent cannot determine if this is the right tool for a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only status check via the word 'Check', but does not mention return format, whether it polls/blocks, or any side effects, so behavioral transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It conveys the core purpose efficiently, though it may be underspecified in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, no output schema, and no annotations, but the description still omits necessary context such as the meaning of 'token', what a successful or failed check returns, and how this relates to sibling tools. The description is too sparse to be complete even for a simple status check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the required 'token' parameter at all. Schema coverage is 0%, and the description fails to explain what 'token' represents or how to obtain it, leaving the parameter semantically unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Check' and resource 'local browser login' to clearly state the tool's purpose. It distinguishes from sibling tiktok_connect (which presumably initiates login) by focusing on completion status, though it does not explicitly contrast with tiktok_operation_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like tiktok_connect or tiktok_operation_status. It does not explicitly say to run this after initiating login, leaving usage context entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals the mechanism (deleting the held video) but omits irreversibility, prerequisites, or error conditions, leaving the agent uncertain about the side effects of cancellation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that front-loads the core action. While very short, it avoids waste and is easy to parse, though it could have been expanded with meaningful details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and an undocumented operation_id, the description leaves key gaps: what happens on success, how to obtain operation_id, and whether any prerequisites exist. This is incomplete for a destructive action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents account_id but operation_id is only shown as a required string with no meaning. The description adds no context for either parameter, failing to compensate for the 50% schema coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels a native scheduled post by deleting its held video. The verb 'cancel' and resource 'scheduled post' are specific and distinguish it from other tools like tiktok_post or tiktok_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or alternative tools are mentioned. It does not clarify when to choose this over tiktok_delete or how to obtain the operation_id, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden but only conveys that the action is on a connected local profile. It does not disclose whether the like operation is idempotent, reversible, asynchronous, or if it has side effects beyond registering a like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the action and scope. It is concise with no wasted words, though it omits behavioral details that could be included without much added length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description must provide enough context for correct invocation. It only covers the basic action and connected-profile requirement, leaving out usage timing, potential asynchronous behavior, and expected outcomes, making it inadequate for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: only account_id is explained, while video_url is merely typed as a URI. The description adds no extra meaning about what constitutes a valid TikTok video URL or how it relates to the account, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Like') and the resource ('a video from a connected local profile'), which distinguishes it from sibling tools like tiktok_follow or tiktok_post. The verb and object are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives such as tiktok_follow. The description only implies usage for liking a video, with no mention of prerequisites, exclusions, or related tool choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects and safety. It only states a polling loop, but does not mention whether this is a read-only operation, what it returns, or whether it blocks. Critical behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words, immediately conveys the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity, some context is missing: what is a 'local browser job'? What does 'done or failed' mean in terms of the response? There is no output schema explaining the return value. The description is too minimal for an agent to fully anticipate behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter operation_id is not described. With 0% schema coverage, the description provides no meaning beyond the schema's minimal definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a polling action ('Poll') on a specific resource ('local browser job') with termination conditions ('until done or failed'). It is clear enough to distinguish from sibling tools like tiktok_connect_status, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The polling behavior implies it should be used after initiating an operation, but no scenarios or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'connected browser profile' and 'native scheduler,' but omits critical details like account prerequisites, how video inputs are handled, post-publication effects, rate limits, or error conditions. This leaves significant behavioral gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-specified for a tool with 10 parameters. It does not front-load essential usage details and is more close to a summary than a helpful guide, making it inadequate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, no annotations, and no output schema, the description is far too sparse to enable correct invocation. It fails to explain the multiple video input options, scheduling constraints, privacy settings, or account requirements, leaving the agent without essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30%, and the description adds no parameter semantics. It does not explain the differences between video_url, video_path, and video_base64, nor the meaning of privacy values, schedule_at format, or other fields. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool publishes or schedules a TikTok video, specifying the action (publish/schedule), resource (TikTok video), and context (local video via browser profile or native scheduler). This distinguishes it from sibling tools like tiktok_scheduled (listing) and tiktok_cancel_scheduled.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for posting or scheduling videos, but does not explicitly state when to choose it over alternatives or mention any exclusions. There is no reference to sibling tools or conditions that would make other tools preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only indicates the scope ('connected account's videos') but omits critical details such as whether deletion is permanent or reversible, any permission requirements, or whether the operation might be asynchronous (suggested by tiktok_operation_status sibling).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundancy or filler. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no output schema and no annotations, the description is too sparse. It does not mention success/error behavior, irreversibility, or any interaction with asynchronous status tools like tiktok_operation_status. This leaves the agent uncertain about expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not elaborate on parameters. video_url lacks a schema description, and the tool description adds no explanation of expected URL format or how it relates to account_id. Schema coverage is only 50%, and the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete) and the resource (one of the connected account's videos). It distinguishes itself from sibling tools like tiktok_post or tiktok_cancel_scheduled by specifying the deletion of an existing video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 vs alternatives. For example, it does not clarify whether it handles scheduled videos (distinct from tiktok_cancel_scheduled) or any prerequisites like account connection status. The description offers no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry behavioral context. It does add useful context with 'local persistent' and 'session state', implying a read-only local listing. However, it does not explicitly disclose non-mutating behavior, return structure, or any prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the essential information. No filler or repetition exists; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description gives a basic understanding of the returned entities but fails to explain the 'tag' parameter behavior. This leaves the tool incompletely specified for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the description never mentions the 'tag' parameter. There is no explanation of what the tag is for, how to format it, or whether it filters results, leaving the parameter entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('List') and resource ('local persistent TikTok profiles'), and adds meaningful scope ('session state') that distinguishes it from siblings like tiktok_connect_status or tiktok_niches. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The listing intent is implied by the verb 'List', but there is no explicit guidance on when to use this tool versus alternatives like tiktok_connect_status or tiktok_operation_status. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/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. It states the action but does not disclose potential side effects, whether the action is reversible, authentication requirements, or what happens if the target user is already followed. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant wording. Every word serves a purpose, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is under-specified. It lacks information about expected outcomes, error conditions, or edge cases (e.g., following an already-followed user). The prerequisite of a connected local profile is mentioned but not elaborated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (account_id has a format description, target_user has none). The tool description does not explicitly map parameters to the account_id and target_user roles; 'connected local profile' hints at account_id but leaves target_user unclarified. The description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific action verb ('Follow') and identifies both the resource ('a user') and the context ('from a connected local profile'), clearly distinguishing it from sibling tools like tiktok_like and tiktok_post. It fully clarifies what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from a connected local profile' implies a prerequisite, indicating that the tool should be used only after connecting a local profile. However, it offers no explicit guidance on when to use this tool versus alternatives, nor does it state exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral transparency. It only mentions that the update happens 'through the local browser', but fails to disclose side effects, permission requirements, reversibility, or any potential impact on the account. It is a mutation tool with no safety or behavior details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is direct and to the point. It provides the essential information without unnecessary words, fitting the tool's simple purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too sparse. It does not mention prerequisites (e.g., a connected browser), error scenarios, or what happens after the update. Given its low complexity, more context is needed to be considered complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only account_id has a description). The tool description mentions 'display name' and 'bio' but adds little beyond the parameter names themselves; it does not explain constraints, formats, or optionality beyond what the schema already shows. The phrase 'or both' hints at combinability but is only minor extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and the specific resources ('display name, bio, or both'), with a mechanism ('through the local browser'). It distinguishes itself from sibling tools like tiktok_update_avatar by focusing on profile text fields rather than avatars.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: when you need to update profile display name or bio. However, there is no explicit guidance on when not to use it or which sibling tool to use instead (e.g., tiktok_update_avatar for profile pictures). No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/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. It reveals that the tool 'scrapes locally' and 'saves a time-series sample', indicating local data collection and persistence, but it does not disclose whether this is read-only, requires specific permissions, or has any side effects beyond saving data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action ('Scrape') and specifies the resource and outcome with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should explain what the 'time-series sample' consists of and what the function returns or persists. The current description leaves the sample structure undefined and does not clarify whether this is a one-time operation or something repetitive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single parameter 'account_id' with a pattern and descriptive text, so the schema itself provides adequate semantics. The tool description does not reference the parameter or add any additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Scrape' with a clear resource 'post metrics' and a concrete outcome 'save a time-series sample'. This distinguishes it from sibling tools like tiktok_like or tiktok_delete, which are obviously different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for collecting TikTok post metrics, but it does not explicitly state when to use it over alternatives or provide any exclusions. There is no mention of contexts where this tool is preferred or inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of disclosing behavior. It only says 'Set the profile image' without covering side effects, permissions, success/failure, or asynchronous behavior, which is a significant gap for a mutating action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise, front-loaded with the action, and contains no fluff. It efficiently communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must compensate for missing return values, error behavior, and operational constraints. It is too brief to be complete, especially given that similar tools like tiktok_operation_status imply asynchronous possibilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (account_id and image_path have descriptions; image_url and image_base64 do not). The description adds that the image can be provided via local path, URL, or base64, which clarifies the meaning of the three image parameters. However, it does not specify exclusivity or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Set' and resource 'profile image', clearly distinguishing this tool from siblings like tiktok_update_profile. The three input methods are also listed, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case of updating an avatar but provides no explicit when-to-use, exclusions, or alternatives. It does not mention when to prefer tiktok_update_profile or other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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. It discloses that posts are 'recorded by this local MCP', which is a useful caveat about local caching. However, it does not mention the default behavior of include_done, return format, or any side effects, leaving important behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no redundancy. The verb is front-loaded and the sentence is efficiently structured, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given 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 should explain return values and parameter meanings. It only states the high-level purpose, leaving the agent without crucial details about what the tool returns or how parameters affect behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description makes no mention of account_id or include_done. The parameter names are somewhat self-explanatory, but the description adds no meaning beyond the bare schema, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('native scheduled posts') with an added scope ('recorded by this local MCP'). This clearly distinguishes it from the sibling 'tiktok_cancel_scheduled', which is about cancelling rather than listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool lists scheduled posts. While it implies it is the read-only counterpart to tiktok_cancel_scheduled, it does not explicitly name alternatives or exclusions. Still, the purpose is unambiguous enough for basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read/calculate operation, implying non-destructive behavior, but does not explicitly confirm read-only status, return format, or any side effects. This is adequate but lacks deeper 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, front-loaded with the primary action. It is appropriately concise with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, and the description does not explain return values, parameter relationships, or edge cases. For a tool with 3 parameters, it is under-specified and leaves important context unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only account_id is described). The description adds some meaning by linking 'time window' to hours, but video_id is completely unaddressed. It does not sufficiently compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads or calculates analytics/performance history, using specific verbs and a resource. It also distinguishes itself from siblings (e.g., tiktok_analytics) by mentioning local device storage, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (for locally stored analytics or time-window growth) but does not explicitly state when to prefer it over alternatives like tiktok_analytics. No exclusions or alternative tool mention is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It discloses the key non-obvious behavior: the operation produces a QR login link that must be shared with a human, and completion is asynchronous (requires polling tiktok_connect_status). It does not mention error conditions, prerequisites, or permissions, but the core interactive workflow is well explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, immediately states the primary action, and the second sentence explains the follow-up steps. Every sentence provides essential guidance with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although there is no output schema, the description mentions the key return value (connect_url) and the polling sibling. It covers the essential workflow for a connect operation. It could be more complete by noting failure scenarios or prerequisites, but the core context is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents most parameters. The description adds no parameter-specific meaning beyond the schema; it only references the output connect_url. Thus a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Create a shareable TikTok QR login link.' This clearly states the tool's purpose and distinguishes it from siblings like tiktok_connect_status (which polls connection status) and tiktok_accounts (which lists accounts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: generate the link, send connect_url to the human, then poll tiktok_connect_status. It implicitly explains when to use this tool versus the status-polling sibling. It does not explicitly state when not to use it or mention alternative tools, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must reveal the tool's behavior. The word 'List' correctly implies a safe, read-only operation, but no additional behavioral details are shared (e.g., return format, size limits, or sorting). The description is minimal but not misleading, making a 3 appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the action ('List') and includes just enough context to be meaningful. Every word earns its place, with no redundancy or vagueness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description is mostly complete. It states the purpose and resource type. However, it doesn't explicitly describe the return structure (e.g., array of strings) or clarify the slight terminology mismatch between 'niches' and 'account tags', which could leave minor ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds meaning by explaining the purpose of the output ('suggested account tags for local hook analysis'), which helps the agent interpret the result even though there is no input schema to elaborate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'suggested account tags' and adds context 'for local hook analysis'. This distinguishes it from sibling tools like tiktok_hooks and tiktok_analytics by indicating it provides tag suggestions for niche/hook analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for local hook analysis' provides clear context for when to use this tool, implying it is relevant to analyzing local hooks. However, it does not explicitly mention alternatives or when not to use it, so it misses the top score for explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0xArtex/tiktok-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server