Skip to main content
Glama

create_thread

Create a new thread in a course by providing course ID, title, and Ed XML content. Optionally set type, category, subcategory, privacy, and anonymity.

Instructions

Create a new thread in a course. Wrap content in Ed XML: Your text here. Use list_categories to find valid category names.

Args: course_id: The course ID (use list_courses to find it). title: Thread title. content: Thread body in Ed XML format. type: "post" for a discussion, "question" for a question that can be answered, or "announcement" for a course-wide notice. category: Category name (use list_categories to see options). subcategory: Subcategory name (optional). is_private: If true, only staff can see the thread. is_anonymous: If true, the author's name is hidden.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNopost
titleYes
contentYes
categoryNo
course_idYes
is_privateNo
subcategoryNo
is_anonymousNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
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 meaningful behaviors: content must be wrapped in Ed XML, type determines thread kind, is_private hides from non-staff, and is_anonymous hides the author. However, it omits potential prerequisites like permissions, error behavior, and reversibility—common gaps 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-sentence summary, a crucial content-format instruction, and a clean parameter list. Every line adds value without redundancy. It is longer than minimal but earns its length through dense, useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 8 parameters and no schema descriptions, the description covers the essentials: content construction, parameter lookups, type semantics, and privacy options. Since an output schema exists, omitting return values is acceptable. Missing permission and error-handling details are minor gaps, not fatal for this kind of tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully compensates by explaining every parameter. It gives concrete guidance: content format with an XML example, valid type values, how to find course_id/category via other tools, and explicit meanings for the boolean flags. This goes well beyond the schema's type/default info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Create a new thread in a course,' a specific verb and resource. It clearly differentiates from sibling tools like delete_thread, lock_thread, and edit_thread by focusing on creation. It also clarifies the thread types and content format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context: use list_categories for valid category names and list_courses for course_id. It explains the different thread types (post, question, announcement) and optional parameters. No exclusions or alternatives are given, but there is no other thread-creation sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/januarharianto/ed-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server