Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_oauth_get_installed_locations

Read-onlyIdempotent

Retrieve installed locations for a given app and company, supporting pagination and filters such as location name, trial status, and plan ID.

Instructions

REQUIRES AN AGENCY-LEVEL (Company) TOKEN — spec security is Agency-Access-Only, no Location-Access alternative. Get Location where app is installed This API allows you fetch location where app is installed upon Endpoint: GET /oauth/installed-locations (Version header: v3; source: v3/oauth-v3.json) OAuth scopes: oauth.readonly Pagination params: pageSize — pass them to page through full result sets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdYesParameter to search by the appId
queryNoParameter to search for the installed location by name
planIdNoFilters out location which are installed for specified app under the specified planId
onTrialNoFilters out locations which are installed for specified app in trial mode
pageSizeNoMax items per page (1-100). Replaces legacy `limit` parameter per AIP-158.
companyIdYesParameter to search by the companyId
pageTokenNoOpaque token returned in a previous response to fetch the next page. Replaces legacy `skip` parameter per AIP-158.
versionIdNoVersionId of the app
locationIdNolocationId
isInstalledNoFilters out location which are installed for specified app under the specified company
restrictToUserLocationsNoWhen true, restricts the list to locations the current user has access to (for restricted agency admins and account admins). When false or omitted, no user-based filter is applied for installed list; for backward compatibility, install list (isInstalled=false) is still filtered by user when this param is omitted.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond annotations: it specifies the required token type (agency-level), the endpoint, OAuth scopes, and pagination details. This complements the readOnlyHint, openWorldHint, and idempotentHint annotations well without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

The description is well-structured with critical security info first, followed by purpose, endpoint, scopes, and pagination. It is not overly verbose but contains necessary details. A few sentences could be streamlined, but overall it is efficient.

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?

Given 11 parameters, no output schema, and no nested objects, the description covers security, endpoint, scopes, and pagination. It lacks explanation of the response structure, which would be helpful, but the annotations and schema already provide substantial context. Overall, it is reasonably complete.

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

Parameters3/5

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

Schema description coverage is 100% for all 11 parameters, so the description adds minimal extra meaning. It mentions pagination parameters (pageSize, pageToken) but the schema already describes them thoroughly. Baseline score of 3 is appropriate given full schema coverage.

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 clearly states 'Get Location where app is installed' and uses a specific verb-resource combination ('Get Location'). It distinguishes from siblings like 'ghl_oauth_get_installed_location' (singular) by indicating it fetches installed locations (plural). The scope is well-defined.

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?

The description explicitly requires an agency-level token and notes 'no Location-Access alternative', providing a critical usage constraint. It mentions pagination parameters but does not explicitly state when not to use this tool or compare with alternatives beyond the token requirement.

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/zackscriven/ghl-mcp-server'

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