Skip to main content
Glama
JLKmach

ServiceNow MCP Server

by JLKmach

list_story_dependencies

Retrieve story dependencies in ServiceNow to identify prerequisites and dependent relationships for agile project management.

Instructions

List story dependencies from ServiceNow

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return
offsetNoOffset to start from
queryNoAdditional query string
dependent_storyNoSys_id of the dependent story is required
prerequisite_storyNoSys_id that this story depends on is required

Implementation Reference

  • The handler function that executes the tool logic: validates parameters, builds ServiceNow query for m2m_story_dependencies table, fetches and returns dependencies.
    def list_story_dependencies( auth_manager: AuthManager, server_config: ServerConfig, params: Dict[str, Any], ) -> Dict[str, Any]: """ List story dependencies from ServiceNow. Args: auth_manager: The authentication manager. server_config: The server configuration. params: The parameters for listing story dependencies. Returns: A list of story dependencies. """ # Unwrap and validate parameters result = _unwrap_and_validate_params( params, ListStoryDependenciesParams ) if not result["success"]: return result validated_params = result["params"] # Build the query query_parts = [] if validated_params.dependent_story: query_parts.append(f"dependent_story={validated_params.dependent_story}") if validated_params.prerequisite_story: query_parts.append(f"prerequisite_story={validated_params.prerequisite_story}") # Add any additional query string if validated_params.query: query_parts.append(validated_params.query) # Combine query parts query = "^".join(query_parts) if query_parts else "" # Get the instance URL instance_url = _get_instance_url(auth_manager, server_config) if not instance_url: return { "success": False, "message": "Cannot find instance_url in either server_config or auth_manager", } # Get the headers headers = _get_headers(auth_manager, server_config) if not headers: return { "success": False, "message": "Cannot find get_headers method in either auth_manager or server_config", } # Make the API request url = f"{instance_url}/api/now/table/m2m_story_dependencies" params = { "sysparm_limit": validated_params.limit, "sysparm_offset": validated_params.offset, "sysparm_query": query, "sysparm_display_value": "true", } try: response = requests.get(url, headers=headers, params=params) response.raise_for_status() result = response.json() # Handle the case where result["result"] is a list story_dependencies = result.get("result", []) count = len(story_dependencies) return { "success": True, "story_dependencies": story_dependencies, "count": count, "total": count, # Use count as total if total is not provided } except requests.exceptions.RequestException as e: logger.error(f"Error listing story dependencies: {e}") return { "success": False, "message": f"Error listing story dependencies: {str(e)}", }
  • Pydantic model defining the input parameters for the list_story_dependencies tool.
    class ListStoryDependenciesParams(BaseModel): """Parameters for listing story dependencies.""" limit: Optional[int] = Field(10, description="Maximum number of records to return") offset: Optional[int] = Field(0, description="Offset to start from") query: Optional[str] = Field(None, description="Additional query string") dependent_story: Optional[str] = Field(None, description="Sys_id of the dependent story is required") prerequisite_story: Optional[str] = Field(None, description="Sys_id that this story depends on is required")
  • Registration of the tool in the central tool_definitions dictionary, mapping name to implementation, params schema, return type, description, and serialization method.
    "list_story_dependencies": ( list_story_dependencies_tool, ListStoryDependenciesParams, str, # Expects JSON string "List story dependencies from ServiceNow", "json", # Tool returns list/dict ),
  • Import and alias of the handler function for use in tool registration.
    list_story_dependencies as list_story_dependencies_tool,
  • Exposes the tool function via __init__.py for easy import.
    list_story_dependencies,

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/JLKmach/servicenow-mcp'

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