Skip to main content
Glama

write_matrix_entry

Add or update entries in a knowledge matrix for tracking bugs, features, testing results, decisions, documentation, and goals within revenue management workflows.

Instructions

Write or append entry to Knowledge Matrix. Topics: Bugs & Fixes, Features Added, Testing Results, Decisions & Direction, Documentation Updates, Next Session Goals

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD format (defaults to today)
topicYesMatrix topic
contentYesEntry content with timestamp (e.g., '3:45pm CST 🐛 Fixed bug in addTask')

Implementation Reference

  • index.js:396-418 (registration)
    Registers the 'write_matrix_entry' tool in the MCP server's listTools response, including name, description, and input schema.
    { name: "write_matrix_entry", description: "Write or append entry to Knowledge Matrix. Topics: Bugs & Fixes, Features Added, Testing Results, Decisions & Direction, Documentation Updates, Next Session Goals", inputSchema: { type: "object", properties: { date: { type: "string", description: "Date in YYYY-MM-DD format (defaults to today)" }, topic: { type: "string", description: "Matrix topic", enum: ["Bugs & Fixes", "Features Added", "Testing Results", "Decisions & Direction", "Documentation Updates", "Next Session Goals"] }, content: { type: "string", description: "Entry content with timestamp (e.g., '3:45pm CST 🐛 Fixed bug in addTask')" } }, required: ["topic", "content"] } },
  • Defines the input schema for the write_matrix_entry tool, specifying parameters for date, topic, and content.
    inputSchema: { type: "object", properties: { date: { type: "string", description: "Date in YYYY-MM-DD format (defaults to today)" }, topic: { type: "string", description: "Matrix topic", enum: ["Bugs & Fixes", "Features Added", "Testing Results", "Decisions & Direction", "Documentation Updates", "Next Session Goals"] }, content: { type: "string", description: "Entry content with timestamp (e.g., '3:45pm CST 🐛 Fixed bug in addTask')" } }, required: ["topic", "content"] }
  • The handler for the write_matrix_entry tool within the CallToolRequestSchema switch statement. Forwards arguments to the external Google Apps Script API via callAPI.
    case "write_matrix_entry": result = await callAPI("writeMatrixEntry", args); break;
  • Generic helper function callAPI that handles all tool invocations by POSTing to the Google Apps Script web app URL with the action 'writeMatrixEntry' and tool arguments as form data.
    async function callAPI(action, data = {}) { debugLog('=== API CALL START ==='); debugLog(`Action: ${action}`); debugLog(`Data: ${JSON.stringify(data)}`); try { // Build form-encoded body for POST const formData = new URLSearchParams(); formData.append('action', action); // Add all data fields to form for (const [key, value] of Object.entries(data)) { if (value !== undefined && value !== null) { formData.append(key, value.toString()); } } const formString = formData.toString(); debugLog(`FormData: ${formString}`); debugLog(`API_URL: ${API_URL}`); // Use POST with proper content type const response = await fetch(API_URL, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: formString }); debugLog(`Response status: ${response.status}`); debugLog(`Response ok: ${response.ok}`); if (!response.ok) { debugLog(`Response not OK: ${response.status} ${response.statusText}`); throw new Error(`API request failed: ${response.status} ${response.statusText}`); } const text = await response.text(); debugLog(`Response text length: ${text.length}`); debugLog(`Response text: ${text}`); if (!text) { debugLog('ERROR: Empty response from API'); throw new Error('Empty response from API'); } const parsed = JSON.parse(text); debugLog(`Parsed successfully: ${JSON.stringify(parsed)}`); debugLog('=== API CALL END ==='); return parsed; } catch (error) { debugLog(`ERROR in callAPI: ${error.message}`); debugLog(`ERROR stack: ${error.stack}`); throw error; } }

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/PromptishOperations/mcpSpec'

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