find_tool_mentions
Discover community tools and open-source resources mentioned in Entra.news articles. Search by technology keyword to find GitHub projects, PowerShell tools, and their context within newsletter issues.
Instructions
Find community tools, GitHub projects, and open-source resources mentioned in Entra.news. Returns tool names, descriptions, GitHub URLs, and the issue context where they appeared. Optionally filter by keyword to find tools related to a specific technology or capability.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional filter — search by tool name, technology, or description keyword (e.g. "PowerShell", "Conditional Access", "reporting") | |
| limit | No | Maximum number of tool mentions to return (default: 20) |
Implementation Reference
- src/tools/find-tool-mentions.ts:51-71 (handler)The handler function that executes the "find_tool_mentions" tool logic by calling the database and formatting the output.
export function handleFindToolMentions(args: FindToolMentionsArgs): string { const { query, limit } = args; const mentions = findToolMentions(query, limit); if (mentions.length === 0) { const qualifier = query ? ` mentioning "${query}"` : ''; return `No content found${qualifier} in the archive.`; } const hasSynthetic = mentions.some((m) => m.id < 0); const header = query ? `## Entra.news mentions of "${query}"\n\n` + (hasSynthetic ? `_(No GitHub/Microsoft tool entries matched — showing issues where this term appears in content.)_\n\n` : '') + `Found ${mentions.length} result(s):\n\n---\n\n` : `## Community Tools Mentioned in Entra.news\n\n${mentions.length} mention(s):\n\n---\n\n`; const body = mentions.map((t, i) => formatToolMention(t, i + 1)).join('\n\n---\n\n'); return header + body; } - src/tools/find-tool-mentions.ts:4-18 (schema)The Zod schema definition for input validation of the "find_tool_mentions" tool.
export const findToolMentionsSchema = z.object({ query: z .string() .optional() .describe( 'Optional search query — filter by tool name, technology, or description keyword' ), limit: z .number() .int() .min(1) .max(100) .default(20) .describe('Maximum number of tool mentions to return'), }); - src/server.ts:96-116 (registration)The MCP tool registration for "find_tool_mentions" within the TOOLS array.
name: 'find_tool_mentions', description: 'Find community tools, GitHub projects, and open-source resources mentioned in Entra.news. ' + 'Returns tool names, descriptions, GitHub URLs, and the issue context where they appeared. ' + 'Optionally filter by keyword to find tools related to a specific technology or capability.', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Optional filter — search by tool name, technology, or description keyword (e.g. "PowerShell", "Conditional Access", "reporting")', }, limit: { type: 'number', description: 'Maximum number of tool mentions to return (default: 20)', default: 20, }, }, }, },