Skip to main content
Glama

search_call_transcripts

Search call transcripts by keywords, caller names, or specific fields using a JWT-authenticated query. Retrieve targeted results for efficient analysis and management within the MCP JSON Database Server.

Instructions

Transkriptlerde anahtar kelime arama yapar

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesAranacak kelime veya cümle
searchInNoArama alanı (transcript, callerName, keywords)
tokenYesJWT token

Implementation Reference

  • Main execution logic for search_call_transcripts tool: authenticates via token, enforces role-based filtering (employees see only assigned transcripts), searches query in transcript, callerName, keywords or all fields case-insensitively, audits access, returns paginated JSON results with metadata.
    case 'search_call_transcripts': { const { token, query, searchIn = 'all' } = args; try { const user = checkPermissionWithToken(token, PERMISSIONS.TRANSCRIPT_SEARCH); let transcripts = db.call_transcripts; // Employee sadece kendi atandığı çağrıları arayabilir if (user.role === ROLES.EMPLOYEE) { transcripts = transcripts.filter(t => t.assignedTo === user.userId); } const searchQuery = query.toLowerCase(); const results = transcripts.filter(transcript => { switch (searchIn) { case 'transcript': return transcript.transcript.toLowerCase().includes(searchQuery); case 'callerName': return transcript.callerName.toLowerCase().includes(searchQuery); case 'keywords': return transcript.keywords.some(keyword => keyword.toLowerCase().includes(searchQuery)); case 'all': default: return transcript.transcript.toLowerCase().includes(searchQuery) || transcript.callerName.toLowerCase().includes(searchQuery) || transcript.keywords.some(keyword => keyword.toLowerCase().includes(searchQuery)) || transcript.callerCompany.toLowerCase().includes(searchQuery); } }); await auditLogger.dataAccessed(user.userId, user.role, 'call_transcript_search', { query, searchIn, resultCount: results.length }); return { content: [{ type: 'text', text: JSON.stringify({ success: true, data: results, searchQuery: query, searchIn, total: results.length, requestedBy: { id: user.userId, role: user.role } }, null, 2) }] }; } catch (error) { return { content: [{ type: 'text', text: JSON.stringify({ success: false, message: error.message, requiredPermission: PERMISSIONS.TRANSCRIPT_SEARCH }) }] }; } }
  • src/index.js:159-170 (registration)
    Tool registration in ListToolsResponse: defines name, description, and inputSchema for validating arguments (token required, query required, searchIn optional enum).
    { name: 'search_call_transcripts', description: 'Transkriptlerde anahtar kelime arama yapar', inputSchema: { type: 'object', properties: { token: { type: 'string', description: 'JWT token' }, query: { type: 'string', description: 'Aranacak kelime veya cümle' }, searchIn: { type: 'string', description: 'Arama alanı (transcript, callerName, keywords)', enum: ['transcript', 'callerName', 'keywords', 'all'] } }, required: ['token', 'query'] }
  • Input schema definition for search_call_transcripts: object with token (string, required), query (string, required), searchIn (string enum: transcript, callerName, keywords, all). Used for MCP tool validation.
    { name: 'search_call_transcripts', description: 'Transkriptlerde anahtar kelime arama yapar', inputSchema: { type: 'object', properties: { token: { type: 'string', description: 'JWT token' }, query: { type: 'string', description: 'Aranacak kelime veya cümle' }, searchIn: { type: 'string', description: 'Arama alanı (transcript, callerName, keywords)', enum: ['transcript', 'callerName', 'keywords', 'all'] } }, required: ['token', 'query'] }

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/yusuferenkt/mcp-database'

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