HNPX SDK
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PUBMED_EMAIL | Yes | Your email address (required by NCBI) | |
| PUBMED_API_KEY | No | Optional API key for higher rate limits |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_documentB | Create a new empty HNPX document Args: file_path (str): Path where the new HNPX document will be created |
| get_root_idB | Get ID of the book node (document root) Args: file_path (str): Path to the HNPX document Returns: str: ID of the book node |
| get_nodeA | Retrieve XML representation of a specific node (without descendants) Args: file_path (str): Path to the HNPX document node_id (str): ID of the node to retrieve Returns: str: XML representation of the node with its attributes and summary child only |
| get_subtreeA | Retrieve XML representation of node including all descendants, optionally pruned Args: file_path (str): Path to the HNPX document node_id (str): ID of the node to retrieve pruning_level (str): Depth level - one of: "book", "chapter", "sequence", "beat", "full" Returns: str: XML representation of the node and its descendants, pruned to specified depth |
| get_childrenA | Retrieve immediate child nodes of a specified parent Args: file_path (str): Path to the HNPX document node_id (str): ID of the parent node Returns: str: Concatenated XML representation of all direct child nodes |
| get_emptyA | Find next container node without children within a specific node's subtree (BFS order) Args: file_path (str): Path to the HNPX document node_id (str): ID of the node to search within Returns: str: XML representation of the next empty container node or a message if none found |
| get_pathA | Return hierarchical path from document root to specified node Args: file_path (str): Path to the HNPX document node_id (str): ID of the target node Returns: str: Concatenated XML representation of all nodes in the path from root to target |
| create_chapterB | Create a new chapter element Args: file_path (str): Path to the HNPX document parent_id (str): ID of the parent book element title (str): Chapter title summary (str): Chapter summary text pov (Optional[str]): Point-of-view character identifier |
| create_sequenceB | Create a new sequence element Args: file_path (str): Path to the HNPX document parent_id (str): ID of the parent chapter element location (str): Location description summary (str): Sequence summary text time (Optional[str]): Time indicator (e.g., "night", "next day", "flashback") pov (Optional[str]): Point-of-view character identifier |
| create_beatC | Create a new beat element Args: file_path (str): Path to the HNPX document parent_id (str): ID of the parent sequence element summary (str): Beat summary text |
| create_paragraphB | Create a new paragraph element Args: file_path (str): Path to the HNPX document parent_id (str): ID of the parent beat element text (str): Paragraph text content mode (str): Narrative mode - one of: "narration" (default), "dialogue", "internal" char (Optional[str]): Character identifier (required when mode="dialogue") |
| edit_summaryC | Edit summary text of a node Args: file_path (str): Path to the HNPX document node_id (str): ID of the node containing the summary new_summary (str): New summary text content |
| edit_paragraph_textC | Edit paragraph text content Args: file_path (str): Path to the HNPX document node_id (str): ID of the paragraph node to modify new_text (str): New paragraph text content |
| edit_node_attributesC | Modify attributes of an existing node Args: file_path (str): Path to the HNPX document node_id (str): ID of the node to modify attributes (dict): Dictionary of attribute names and values to update |
| move_nodesC | Move multiple nodes between parents Args: file_path (str): Path to the HNPX document node_ids (list): List of node IDs to move new_parent_id (str): ID of the new parent node |
| reorder_childrenC | Reorganize the order of child elements Args: file_path (str): Path to the HNPX document parent_id (str): ID of the parent node child_ids (list): List of child IDs in the desired order |
| remove_nodesA | Permanently remove multiple nodes and all their descendants Args: file_path (str): Path to the HNPX document node_ids (list): List of node IDs to remove |
| remove_node_childrenC | Remove all children of a node Args: file_path (str): Path to the HNPX document node_id (str): ID of the parent node |
| render_nodeB | Render text representation of the node (only descendent paragraphs) Args: file_path (str): Path to the HNPX document node_id (str): ID of the node to render show_ids (bool): Whether to show paragraph IDs in square brackets show_markers (bool): Whether to mark chapter/sequence beginnings Returns: str: Formatted text representation the node |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools have distinct purposes, but there is some potential for confusion between edit_node_attributes, edit_paragraph_text, and edit_summary, as they all modify node attributes or content. However, their specific targets (general attributes, paragraph text, summary text) are clarified in descriptions, preventing major misselection.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_beat, edit_node_attributes, get_children, remove_nodes, and reorder_children. This predictability makes it easy for agents to understand and use the toolset without confusion from mixed conventions.
With 19 tools, the count is slightly high but reasonable for a document editing and management SDK, covering creation, retrieval, editing, and organization of hierarchical elements. It might feel a bit heavy, but each tool appears to serve a specific function in the domain.
The toolset provides comprehensive coverage for HNPX document manipulation, including full CRUD operations (create, read via get tools, update via edit tools, delete via remove tools), hierarchical management (move, reorder), and rendering. No obvious gaps are present for the stated purpose of SDK operations.