Skip to main content
Glama

generate_pin_map

Create a point map to visualize the location and distribution of points of interest (POIs) on a map. Use keywords to search for POIs and display their geographic data.

Instructions

Generate a point map to display the location and distribution of point data on the map, such as the location distribution of attractions, hospitals, supermarkets, etc.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesThe map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
dataYesA list of keywords for the names of points of interest (POIs) in Chinese. These POIs usually contain a group of places with similar locations, so the names should be more descriptive, must adding attributives to indicate that they are different places in the same area, such as "北京市" is better than "北京", "杭州西湖" is better than "西湖"; in addition, if you can determine that a location may appear in multiple areas, you can be more specific, such as "杭州西湖的苏堤春晓" is better than "苏堤春晓". The tool will use these keywords to search for specific POIs and query their detailed data, such as latitude and longitude, location photos, etc. For example, ["西安钟楼", "西安大唐不夜城", "西安大雁塔"].
markerPopupNoMarker type, one is simple mode, which is just an icon and does not require `markerPopup` configuration; the other is image mode, which displays location photos and requires `markerPopup` configuration. Among them, `width`/`height`/`borderRadius` can be combined to realize rectangular photos and square photos. In addition, when `borderRadius` is half of the width and height, it can also be a circular photo.
widthNoSet the width of map, default is 1600.
heightNoSet the height of map, default is 1000.

Implementation Reference

  • Handler logic that identifies generate_pin_map as a map chart and executes generateMap to produce the output.
    const isMapChartTool = [ "generate_district_map", "generate_path_map", "generate_pin_map", ].includes(tool); if (isMapChartTool) { // For map charts, we use the generateMap function, and return the mcp result. const { metadata, ...result } = await generateMap(tool, args); return result; }
  • Helper function that sends the generate_pin_map tool call and input to the external visualization service API.
    */ export async function generateMap( tool: string, input: unknown, ): Promise<ResponseResult> { const url = getVisRequestServer(); const response = await axios.post( url, { serviceId: getServiceIdentifier(), tool, input, source: "mcp-server-chart", }, { headers: { "Content-Type": "application/json", }, }, ); const { success, errorMessage, resultObj } = response.data; if (!success) { throw new Error(errorMessage); } return resultObj; }
  • Zod schema defining the input parameters for the generate_pin_map tool.
    const schema = { title: MapTitleSchema, data: POIsSchema, markerPopup: z .object({ type: z.string().default("image").describe('Must be "image".'), width: z.number().default(40).describe("Width of the photo."), height: z.number().default(40).describe("Height of the photo."), borderRadius: z .number() .default(8) .describe("Border radius of the photo."), }) .optional() .describe( "Marker type, one is simple mode, which is just an icon and does not require `markerPopup` configuration; the other is image mode, which displays location photos and requires `markerPopup` configuration. Among them, `width`/`height`/`borderRadius` can be combined to realize rectangular photos and square photos. In addition, when `borderRadius` is half of the width and height, it can also be a circular photo.", ), width: MapWidthSchema, height: MapHeightSchema, };
  • Tool registration metadata including name, description, and reference to inputSchema.
    const tool = { name: "generate_pin_map", description: "Generate a point map to display the location and distribution of point data on the map, such as the location distribution of attractions, hospitals, supermarkets, etc.", inputSchema: zodToJsonSchema(schema), annotations: { title: "Generate Pin Map", readOnlyHint: true, }, };
  • src/server.ts:66-68 (registration)
    MCP server listTools handler that registers all chart tools (including generate_pin_map) for discovery.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: getEnabledTools().map((chart) => chart.tool), }));

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/antvis/mcp-server-chart'

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