Skip to main content
Glama

MCP Agent Coordinator

AGPL 3.0
4
  • Apple
  • Linux
db.sqlite176 kB
SQLite format 3@ �+0�.j���� i  � �M u�<m1+4=�c�tableprojectsprojectsCREATE TABLE projects ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE NOT NULL, description TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'pending', created_at TIMESTAMP NOT NULL, updated_at TIMESTAMP NOT NULL )/Cindexsqlite_autoindex_projects_1projects�//�Uviewtodo_item_detailstodo_item_detailsCREATE VIEW todo_item_details AS SELECT ti.id, ti.title, ti.description, ti.status, ti."order", ti.dependencies, ti.task_id, t.name as task_name, t.project_id, p.name as project_name, COUNT(tif.file_id) as file_count, ti.created_at, ti.updated_at FROM todo_items ti LEFT JOIN tasks t ON ti.task_id = t.id LEFT JOIN projects p ON t.project_id = p.id LEFT JOIN todo_item_files tif ON ti.id = tif.todo_item_id GROUP BY ti.id, ti.title, ti.description, ti.status, ti."order", ti.dependencies, ti.task_id, t.name, t.project_id, p.name, ti.created_at, ti.updated_at�A!!�Qviewtask_statstask_statsCREATE VIEW task_stats AS SELECT t.id, t.name, t.status, t."order", t.dependencies, t.project_id, p.name as project_name, COUNT(ti.id) as total_todo_items, COUNT(CASE WHEN ti.status = 'completed' THEN 1 END) as completed_todo_items, COUNT(CASE WHEN ti.status = 'in_progress' THEN 1 END) as active_todo_items, ROUND( CASE WHEN COUNT(ti.id) = 0 THEN 0 ELSE (COUNT(CASE WHEN ti.status = 'completed' THEN 1 END) * 100.0 / COUNT(ti.id)) END, 2 ) as completion_percentage, t.created_at, t.updated_at FROM tasks t LEFT JOIN projects p ON t.project_id = p.id LEFT JOIN todo_items ti ON t.id = ti.task_id GROUP BY t.id, t.name, t.status, t."order", t.dependencies, t.project_id, p.name, t.created_at, t.updated_at�''�Oviewproject_statsproject_statsCREATE VIEW project_stats AS SELECT p.id, p.name, p.status, COUNT(t.id) as total_tasks, COUNT(CASE WHEN t.status = 'completed' THEN 1 END) as completed_tasks, COUNT(CASE WHEN t.status = 'in_progress' THEN 1 END) as active_tasks, ROUND( CASE WHEN COUNT(t.id) = 0 THEN 0 ELSE (COUNT(CASE WHEN t.status = 'completed' THEN 1 END) * 100.0 / COUNT(t.id)) END, 2 ) as completion_percentage, p.created_at, p.updated_at FROM projects p LEFT JOIN tasks t ON p.id = t.project_id GROUP BY p.id, p.name, p.status, p.created_at, p.updated_at�t9�#triggerupdate_files_timestampfilesCREATE TRIGGER update_files_timestamp AFTER UPDATE ON files FOR EACH ROW WHEN NEW.updated_at = OLD.updated_at BEGIN UPDATE files SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id; ENDI)aindexidx_files_pathfilesCREATE INDEX idx_files_path ON files(path)O-iindexidx_files_lockedfilesCREATE INDEX idx_files_locked ON files(locked)=Q+indexsqlite_autoindex_todo_item_files_1todo_item_files �~++�3tabletodo_item_filestodo_item_filesCREATE TABLE todo_item_files ( todo_item_id INTEGER NOT NULL, file_id INTEGER NOT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (todo_item_id, file_id), FOREIGN KEY (todo_item_id) REFERENCES todo_items(id) ON DELETE CASCADE, FOREIGN KEY (file_id) REFERENCES files(id) ON DELETE CASCADE ))=indexsqlite_autoindex_files_1files�W� tablefilesfilesCREATE TABLE files ( id INTEGER PRIMARY KEY AUTOINCREMENT, path TEXT NOT NULL UNIQUE CHECK(length(trim(path)) > 0), locked BOOLEAN NOT NULL DEFAULT FALSE, locked_by TEXT DEFAULT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP )P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence !   ���& �g!CAAaudit-testTesting comprehensive auditpending2025-07-16 12:56:33.8049402025-07-16 12:56:33.804940i17AAtest-audit-projectTesting audit loggingpending2025-07-16 12:53:11.8380302025-07-16 12:53:11.838030�}�sAAmac-mcpMCP Agent Coordinator Server - A unified server for coordinating multiple autonomous agents with project management, task coordination, file locking, and audit trail functionalitypending2025-07-16 12:28:26.2102902025-07-16 12:28:26.210290m%KAAtest-projectA test project for verificationpending2025-07-16 12:13:56.0278902025-07-16 12:13:56.027890 �������%audit_eventsu projects todo_!todo_files!todo_items tasks   �����!audit-test1test-audit-project mac-mcp% test-project  ��B  � � �Y #AATest TaskA test taskpending2025-07-16 12:56:38.8602562025-07-16 12:56:38.860256� E�WAAWeb Dashboard Audit Trail UIAdd audit trail and project completion summary views to the web dashboard, including timeline visualization, filtering capabilities, and detailed completion reports.pending2025-07-16 12:30:08.7097152025-07-16 12:30:08.709715�  I�AAProject Completion Summary APICreate MCP tools and HTTP API endpoints to retrieve comprehensive project completion summaries, including completed tasks/todos with timestamps, agent assignments, and progress analytics.pending2025-07-16 12:30:07.0804732025-07-16 12:30:07.080473�1 E�)AAAudit Logging InfrastructureImplement core audit logging functionality including helper functions to capture status changes, task/todo completions, file lock events, and project milestones. Add audit logging to all existing MCP tools.pending2025-07-16 12:30:05.4093912025-07-16 12:30:05.409391�I c�= AADatabase Schema Enhancement for Audit TrailCreate a comprehensive audit_events table to track all actions, status changes, and important events with timestamps, agent information, and detailed context. This will enable full traceability of project activities.pending2025-07-16 12:30:03.5583892025-07-16 12:30:03.558389p SAATest TaskA test task to verify functionalitypending2025-07-16 12:13:56.0329142025-07-16 12:13:56.032914   u�T) � i  � �M u�m1+4=�c�tableproje�c/Cindexsqlite_autoindex_projects_1projects�c�tableprojectsprojectsCREATE TABLE projects ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE NOT NULL, description TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'pending', created_at TIMESTAMP NOT NULL, updated_at TIMESTAMP NOT NULL )�//�Uviewtodo_item_detailstodo_item_detailsCREATE VIEW todo_item_details AS SELECT ti.id, ti.title, ti.description, ti.status, ti."order", ti.dependencies, ti.task_id, t.name as task_name, t.project_id, p.name as project_name, COUNT(tif.file_id) as file_count, ti.created_at, ti.updated_at FROM todo_items ti LEFT JOIN tasks t ON ti.task_id = t.id LEFT JOIN projects p ON t.project_id = p.id LEFT JOIN todo_item_files tif ON ti.id = tif.todo_item_id GROUP BY ti.id, ti.title, ti.description, ti.status, ti."order", ti.dependencies, ti.task_id, t.name, t.project_id, p.name, ti.created_at, ti.updated_at�A!!�Qviewtask_statstask_statsCREATE VIEW task_stats AS SELECT t.id, t.name, t.status, t."order", t.dependencies, t.project_id, p.name as project_name, COUNT(ti.id) as total_todo_items, COUNT(CASE WHEN ti.status = 'completed' THEN 1 END) as completed_todo_items, COUNT(CASE WHEN ti.status = 'in_progress' THEN 1 END) as active_todo_items, ROUND( CASE WHEN COUNT(ti.id) = 0 THEN 0 ELSE (COUNT(CASE WHEN ti.status = 'completed' THEN 1 END) * 100.0 / COUNT(ti.id)) END, 2 ) as completion_percentage, t.created_at, t.updated_at FROM tasks t LEFT JOIN projects p ON t.project_id = p.id LEFT JOIN todo_items ti ON t.id = ti.task_id GROUP BY t.id, t.name, t.status, t."order", t.dependencies, t.project_id, p.name, t.created_at, t.updated_at�''�Oviewproject_statsproject_statsCREATE VIEW project_stats AS SELECT p.id, p.name, p.status, COUNT(t.id) as total_tasks, COUNT(CASE WHEN t.status = 'completed' THEN 1 END) as completed_tasks, COUNT(CASE WHEN t.status = 'in_progress' THEN 1 END) as active_tasks, ROUND( CASE WHEN COUNT(t.id) = 0 THEN 0 ELSE (COUNT(CASE WHEN t.status = 'completed' THEN 1 END) * 100.0 / COUNT(t.id)) END, 2 ) as completion_percentage, p.created_at, p.updated_at FROM projects p LEFT JOIN tasks t ON p.id = t.project_id GROUP BY p.id, p.name, p.status, p.created_at, p.updated_at�t9�#triggerupdate_files_timestampfilesCREATE TRIGGER update_files_timestamp AFTER UPDATE ON files FOR EACH ROW WHEN NEW.updated_at = OLD.updated_at BEGIN UPDATE files SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id; ENDI)aindexidx_files_pathfilesCREATE INDEX idx_files_path ON files(path)O-iindexidx_files_lockedfilesCREATE INDEX idx_files_locked ON files(locked)=Q+indexsqlite_autoindex_todo_item_files_1todo_item_files �~++�3tabletodo_item_filestodo_item_filesCREATE TABLE todo_item_files ( todo_item_id INTEGER NOT NULL, file_id INTEGER NOT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (todo_item_id, file_id), FOREIGN KEY (todo_item_id) REFERENCES todo_items(id) ON DELETE CASCADE, FOREIGN KEY (file_id) REFERENCES files(id) ON DELETE CASCADE ))=indexsqlite_autoindex_files_1files�W� tablefilesfilesCREATE TABLE files ( id INTEGER PRIMARY KEY AUTOINCREMENT, path TEXT NOT NULL UNIQUE CHECK(length(trim(path)) > 0), locked BOOLEAN NOT NULL DEFAULT FALSE, locked_by TEXT DEFAULT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP )P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq) 2� �nQ#2��uK�2�Z /f['5yindexidx_tasks_project_idtasksCREATE INDEX idx_tasks_project_id ON tasks(project_id)�J%!!�_tablefile_locksfile_locksCREATE TABLE file_locks ( file_path TEXT PRIMARY KEY, locked_by TEXT NOT NULL, locked_at TIMESTAMP NOT NULL )�G!indexsqlite_autoindex_file_locks_1file_locks�P#!!�ktabletodo_filestodo_filesCREATE TABLE todo_files ( id INTEGER PRIMARY KEY AUTOINCREMENT, todo_id INTEGER NOT NULL, file_path TEXT NOT NULL, FOREIGN KEY (todo_id) REFERENCES todo_items (id) ON DELETE CASCADE, UNIQUE(todo_id, file_path) )3$G!indexsqlite_autoindex_todo_files_1todo_files�Y!//�atabletodo_dependenciestodo_dependenciesCREATE TABLE todo_dependencies ( id INTEGER PRIMARY KEY AUTOINCREMENT, todo_id INTEGER NOT NULL, depends_on_todo_id INTEGER NOT NULL, FOREIGN KEY (todo_id) REFERENCES todo_items (id) ON DELETE CASCADE, FOREIGN KEY (depends_on_todo_id) REFERENCES todo_items (id) ON DELETE CASCADE, UNIQUE(todo_id, depends_on_todo_id) )fU/indexsqlit/Cindexsqlite_autoindex_projects_1projects�O//�Mtabletask_dependenciestask_dependencies CREATE TABLE task_dependencies ( id INTEGER PRIMARY KEY AUTOINCREMENT, task_id INTEGER NOT NULL, depends_on_task_id INTEGER NOT NULL, FOREIGN KEY (task_id) REFERENCES tasks (id) ON DELETE CASCADE, FOREIGN KEY (depends_on_task_id) REFERENCES tasks (id) ON DELETE CASCADE, UNIQUE(task_id, depends_on_task_id) )A U/indexsqlite_autoindex_task_dependencies_1task_dependencies ��I!!�]tabletodo_itemstodo_items CREATE TABLE todo_items ( id INTEGER PRIMARY KEY AUTOINCREMENT, task_id INTEGER NOT NULL, title TEXT NOT NULL, description TEXT NOT NULL DEFAULT '', order_index INTEGER NOT NULL DEFAULT 0, status TEXT NOT NULL DEFAULT 'pending', assigned_agent TEXT NULL, created_at TIMESTAMP NOT NULL, updated_at TIMESTAMP NOT NULL, FOREIGN KEY (task_id) REFERENCES tasks (id) ON DELETE CASCADE )��tabletaskstasksCREATE TABLE tasks ( id INTEGER PRIMARY KEY AUTOINCREMENT, project_id INTEGER NOT NULL, name TEXT NOT NULL, description TEXT NOT NULL DEFAULT '', order_index INTEGER NOT NULL DEFAULT 0, status TEXT NOT NULL DEFAULT 'pending', created_at TIMESTAMP NOT NULL, updated_at TIMESTAMP NOT NULL, FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE )�Cindexsqlite_autoindex_projects_1projects�c�tableprojectsprojectsCREATE TA�(,%%�tableaudit_eventsaudit_eventsCREATE TABLE audit_events ( id INTEGER PRIMARY KEY AUTOINCREMENT, event_type TEXT NOT NULL, entity_type TEXT NOT NULL, entity_id INTEGER, entity_name TEXT, old_status TEXT, new_status TEXT, agent_id TEXT, project_name TEXT, task_name TEXT, details TEXT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP )m+=!� indexidx_file_locks_locked_byfile_locksCREATE INDEX id�c�tableprojectsprojectsCREATE TABLE projects ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE NOT NULL, description TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'pending', created_at TIMESTAMP NOT NULL, updated_at TIMESTAMP NOT NULL )�$� � �� � ����� d����� q�AAAdd audit trail filtering and search functionalityImplement client-side filtering by event type, agent, date range, and search by entity name or description with instant filtering updatespending2025-07-16 13:06:26.5451742025-07-16 13:06:26.545174� o�7AAImplement audit trail data fetching and renderingAdd JavaScript functions to fetch audit trail data from the API, render audit events in a timeline format, and handle real-time updates via WebSocketpending2025-07-16 13:06:21.4029432025-07-16 13:06:21.402943�{ Y�'AACreate audit trail view HTML structureAdd HTML structure for the audit trail view including timeline container, filtering controls (date range, event type, agent), and empty statepending2025-07-16 13:06:16.2298262025-07-16 13:06:16.229826� Y�1 AAAdd audit trail navigation and routingAdd an "Audit Trail" button/tab to the project detail view header and implement client-side routing to switch between kanban and audit trail viewspending2025-07-16 13:06:11.0867752025-07-16 13:06:11.086775�} U�+AAAdd completion analytics and metricsImplement analytics calculations like average completion time, agent productivity metrics, task complexity analysis, and completion rate trendscompleted2025-07-16 12:40:19.1722422025-07-16 13:04:09.916009� e�!AAAdd HTTP API endpoint for completion summaryCreate /api/projects/{project_name}/completion-summary HTTP endpoint that provides JSON formatted completion data for external consumptioncompleted2025-07-16 12:40:17.3662532025-07-16 13:03:59.706074�) i�q AACreate get_project_completion_summary MCP toolAdd a new MCP tool that returns comprehensive project completion data including completed tasks/todos with timestamps, agent assignments, duration metrics, and progress analyticscompleted2025-07-16 12:40:15.5569542025-07-16 13:03:49.509900�q [� AAAdd audit logging to project operationsIntegrate audit logging into create_project(), get_project(), and any project status changes to capture project lifecycle eventscompleted2025-07-16 12:37:29.8209562025-07-16 13:02:54.859312�S _�MAAAdd audit logging to file lock operationsIntegrate audit logging into lock_files() and unlock_files() operations to track resource accesscompleted2025-07-16 12:37:34.0980782025-07-16 13:03:32.789923�\ U�iAAAdd audit logging to todo operationsIntegrate audit logging into create_todo_item(), update_todo_status(), todo assignments, and completion eventscompleted2025-07-16 12:37:32.5709362025-07-16 13:03:22.567164�I U�CAAAdd audit logging to task operationsIntegrate audit logging into create_task(), task status changes, and task completion eventscompleted2025-07-16 12:37:31.0453352025-07-16 13:03:12.355990\ #AATest TodoA test todocompleted2025-07-16 12:56:43.9059682025-07-16 12:56:59.065069� M�e AACreate audit_events table schemaDesign and create the audit_events table with fields for: id, event_type, entity_type, entity_id, old_status, new_status, agent_id, project_name, details (JSON), created_atcompleted2025-07-16 12:30:14.7488782025-07-16 12:34:08.219432� W�? AACreate audit logging helper functionsCreate reusable helper functions for logging audit events: log_status_change(), log_project_event(), log_task_event(), log_todo_event(), log_file_event()completed2025-07-16 12:37:28.5910712025-07-16 12:39:09.202982�F G�KAATest database schema creationVerify that the audit_events table is created correctly and can store audit event data properlycompleted2025-07-16 12:30:17.9584392025-07-16 12:37:19.957743�p K�AAAdd database migration functionCreate a database initialization/migration function that creates the audit_events table if it doesn't exist and handles schema upgradescompleted2025-07-16 12:30:16.5234462025-07-16 12:35:33.445699^ -AATest TodoA test todo itempending2025-07-16 12:13:56.0379422025-07-16 12:13:56.0#       ���������~pbTF.����=static/css/dashboard.css9static/js/dashboard.js9static/js/dashboard.js/static/index.html9static/js/dashboard.js/static/index.html  test.py  main.py  main.py  main.py  main.py main.py main.py main.py main.py main.py main.py main.py %test_file.py ���������qcUG/����=static/css/dashboard.css9static/js/dashboard.js9static/js/dashboard.js/static/index.html9static/js/dashboard.js/static/index.html  test.py  main.py  main.py  main.py  main.py main.py main.py main.py main.py main.py main.py main.py % test_file.py �sG93Astatic/js/dashboard.jsagent-dashboard-dev2025-07-16 13:06:47I=3Astatic/css/dashboard.cssagent-dashboard-dev2025-07-16 13:10:05.514206 ��9static/js/dashbo= static/css/dashboard.css ������� �������������������      U����y����9k]G�+�� completed completeds completed completed completed completed completed �pend completed completed completed� completed completed completed completed completedpe completed completed  pending ��������������������      ��3agent-dashboard-dev3 agent-dashboard-dev�'���� � ? �  �i�S�=�'���j�>��; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:10�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:02:44� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:24� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:20� ; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:16� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:15� ;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:15�;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:15�;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 17:53:16�-11�3project_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "project_status": "pending"}2025-07-16 17:53:16�#! !%�%3completiontodoTest Todocompletedtest-agentTest Project{"completion_time": "2025-07-16T12:38:10.518144", "milestone": "completion"}2025-07-16 17:38:10�>' !%�G3status_changetodoTest Todopendingcompletedtest-agentTest Project{"change_type": "status_update", "previous_status": "pending", "current_status": "completed"}2025-07-16 17:38:10X + %!%3project_createdprojectTest Projecttest-agentTest Project2025-07-16 17:38:10� ' )#%%W3status_changetodoTest Todo Itempendingin_progresstest-agent-1test-projectTest Task{"description": "Test status change"}2025-07-16 17:36:37� ' )#%%W3status_changetodoTest Todo Itempendingin_progresstest-agent-1test-projectTest Task{"description": "Test status change"&o%S"7!�+�Z�@c� �����}�B�����cC#����cC#����cC#����c�C#��9Y� l L , � � � L , � � � � l L , � � � � l q , � ?  � � _ � � �  �?�/b�� �����y L_��3mac-mcp2025-07-16 18:11:15r*13test-audit-project2025-07-16 18:11:15q"!3audit-test2025-07-16 18:11:15p3mac-mcp2025-07-16 18:11:12o3mac-mcp2025-07-16 18:11:12n3mac-mcp2025-07-16 18:11:12m3mac-mcp2025-07-16 18:11:12l3mac-mcp2025-07-16 18:10:54k$%3test-project2025-07-16 18:10:53j3mac-mcp2025-07-16 18:10:53i*13test-audit-project2025-07-16 18:10:53h"!3audit-test2025-07-16 18:10:53g3mac-mcp2025-07-16 18:10:32f$%3test-project2025-07-16 18:10:30e3mac-mcp2025-07-16 18:10:30d*13test-audit-project2025-07-16 18:10:30c"!3audit-test2025-07-16 18:10:30b3mac-mcp2025-07-16 18:10:10a3mac-mcp2025-07-16 18:10:10`3mac-mcp2025-07-16 18:10:10_3mac-mcp2025-07-16 18:10:10^3mac-mcp2025-07-16 18:09:59]3mac-mcp2025-07-16 18:09:59\3mac-mcp2025-07-16 18:09:59[3mac-mcp2025-07-16 18:09:59Z3mac-mcp2025-07-16 18:09:49Y3mac-mcp2025-07-16 18:09:49X3mac-mcp2025-07-16 18:09:49W3mac-mcp2025-07-16 18:09:49V3mac-mcp2025-07-16 18:09:37U3mac-mcp2025-07-16 18:09:37T3mac-mcp2025-07-16 18:09:37S3mac-mcp2025-07-16 18:09:37R3mac-mcp2025-07-16 18:09:27Q3mac-mcp2025-07-16 18:09:27P3mac-mcp2025-07-16 18:09:27O3mac-mcp2025-07-16 18:09:27N3mac-mcp2025-07-16 18:09:14M3mac-mcp2025-07-16 18:09:14L3mac-mcp2025-07-16 18:09:14K3mac-mcp2025-07-16 18:09:14J3mac-mcp2025-07-16 18:09:04I3mac-mcp2025-07-16 18:09:04H3mac-mcp2025-07-16 18:09:04G3mac-mcp2025-07-16 18:09:04F3mac-mcp2025-07-16 18:08:53E3mac-mcp2025-07-16 18:08:50D3mac-mcp2025-07-16 18:08:50C3mac-mcp2025-07-16 18:08:50B"!3audit-test2025-07-16 18:08:50A3mac-mcp2025-07-16 18:08:28@$%3test-project2025-07-16 18:08:27?3mac-mcp2025-07-16 18:08:27>*13test-audit-project2025-07-16 18:08:27="!3audit-test2025-07-16 18:08:27<3mac-mcp2025-07-16 18:07:29;3mac-mcp2025-07-16 18:07:07:$%3test-project2025-07-16 18:07:0693mac-mcp2025-07-16 18:07:068*13test-audit-project2025-07-16 18:07:067"!3audit-test2025-07-16 18:07:0663mac-mcp2025-07-16 18:06:5253mac-mcp2025-07-16 18:06:5243mac-mcp2025-07-16 18:06:5233mac-mcp2025-07-16 18:06:5223mac-mcp2025-07-16 18:05:2513mac-mcp2025-07-16 18:05:2003mac-mcp2025-07-16 18:04:26/3mac-mcp2025-07-16 18:04:20.3mac-mcp2025-07-16 18:04:20-3mac-mcp2025-07-16 18:04:20,3mac-mcp2025-07-16 18:04:20+3mac-mcp2025-07-16 18:04:09*3mac-mcp2025-07-16 18:04:09)3mac-mcp2025-07-16 18:04:09(3mac-mcp2025-07-16 18:04:09'3mac-mcp2025-07-16 18:03:59&3mac-mcp2025-07-16 18:03:59%3mac-mcp2025-07-16 18:03:59$3mac-mcp2025-07-16 18:03:59#3mac-mcp2025-07-16 18:03:42"3mac-mcp2025-07-16 18:03:42!3mac-mcp2025-07-16 18:03:42 3mac-mcp2025-07-16 18:03:423mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:32$%3test-project2025-07-16 18:03:323mac-mcp2025-07-16 18:03:32*13test-audit-project2025-07-16 18:03:32"!3audit-test2025-07-16 18:03:323mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:103mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:02:443mac-mcp2025-07-16 18:01:24 3mac-mcp2025-07-16 18:01:20 $%3test-project2025-07-16 18:01:16 3mac-mcp2025-07-16 18:01:15 *13test-audit-project2025-07-16 18:01:15 "!3audit-test2025-07-16 18:01:15*13test-audit-project2025-07-16 17:53:16*13test-audit-project2025-07-16 17:53:16$%3Test Project2025-07-16 17:38:10$%3Test Project2025-07-16 17:38:10$%3Test Project2025-07-16 17:38:10$%3test-project2025-07-16 17:36:37*3mac-mcp2025-07-16 18:06:524 ��j5 h 3 � m  � 0 ]���n/))�tableschema_versionschema_version CREATE TABLE schema_version ( id INTEGER PRIMARY KEY, version INTEGER NOT NULL, applied_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP )�#.;%�sindexidx_audit_events_entityaudit_eventsCREATE INDEX idx_audit_events_entity ON audit_events(entity_type, entity_id, created_at DESC) �%-G%�kindexidx_audit_events_project_timeaudit_eventsCREATE INDEX idx_audit_events_project_time ON audit_events(project_name, created_at DESC) �(,%%�tableaudit_eventsaudit_eventsCREATE TABLE audit_events ( id INTEGER PRIMARY KEY AUTOINCREMENT, event_type TEXT NOT NULL, entity_type TEXT NOT NULL, entity_id INTEGER, entity_name TEXT, old_status TEXT, new_status TEXT, agent_id TEXT, project_name TEXT, task_name TEXT, details TEXT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP )m+=!� indexidx_file_locks_locked_byfile_locksCREATE INDEX idx_file_locks_locked_by ON file_locks(locked_by)g*9!�indexidx_todo_files_todo_idtodo_filesCREATE INDEX idx_todo_files_todo_id ON todo_files(todo_id)c)7!}indexidx_todo_items_statustodo_itemsCREATE INDEX idx_todo_items_status ON todo_items(status)g(9!�indexidx_todo_items_task_idtodo_itemsCREATE INDEX idx_todo_items_task_id ON todo_items(task_id)['5yindexidx_tasks_project_idtasksCREATE INDEX idx_tasks_project_id ON tasks(project_id)3&G!indexsqlite_autoindex_file_locks_1file_locks�J%!!�_tablefile_locksfile_locksCREATE TABLE file_locks ( file_path TEXT PRIMARY KEY, locked_by TEXT NOT NULL, locked_at TIMESTAMP NOT NULL )3$G!indexsqlite_autoindex_todo_files_1todo_files�P#!!�ktabletodo_filestodo_filesCREATE TABLE todo_files ( id INTEGER PRIMARY KEY AUTOINCREMENT, todo_id INTEGER NOT NULL, file_path TEXT NOT NULL, FOREIGN KEY (todo_id) REFERENCES todo_items (id) ON DELETE CASCADE, UNIQUE(todo_id, file_path) )A"U/indexsqlite_autoindex_todo_dependencies_1todo_dependencies�)�� ~�����|Z�%���xV4"����fD2����vTB �����d�R0��?a� p N , � � � ^ <  � � � � � n L *  � � � � � \ :  k I '  � � � �7Y{�G��� ��F$8it� ��h��!3project2025-07-16 18:11:15r!3project2025-07-16 18:11:15q!3project2025-07-16 18:11:15p!3project2025-07-16 18:11:12o!3project2025-07-16 18:11:12n!3project2025-07-16 18:11:12m!3project2025-07-16 18:11:12l!3project2025-07-16 18:10:54k  3project2025-07-16 18:10:53j!3project2025-07-16 18:10:53i!3project2025-07-16 18:10:53h!3project2025-07-16 18:10:53g!3project2025-07-16 18:10:32f  3project2025-07-16 18:10:30e!3project2025-07-16 18:10:30d!3project2025-07-16 18:10:30c!3project2025-07-16 18:10:30b!3project2025-07-16 18:10:10a!3project2025-07-16 18:10:10`!3project2025-07-16 18:10:10_!3project2025-07-16 18:10:10^!3project2025-07-16 18:09:59]!3project2025-07-16 18:09:59\!3project2025-07-16 18:09:59[!3project2025-07-16 18:09:59Z!3project2025-07-16 18:09:49Y!3project2025-07-16 18:09:49X!3project2025-07-16 18:09:49W!3project2025-07-16 18:09:49V!3project2025-07-16 18:09:37U!3project2025-07-16 18:09:37T!3project2025-07-16 18:09:37S!3project2025-07-16 18:09:37R!3project2025-07-16 18:09:27Q!3project2025-07-16 18:09:27P!3project2025-07-16 18:09:27O!3project2025-07-16 18:09:27N!3project2025-07-16 18:09:14M!3project2025-07-16 18:09:14L!3project2025-07-16 18:09:14K!3project2025-07-16 18:09:14J!3project2025-07-16 18:09:04I!3project2025-07-16 18:09:04H!3project2025-07-16 18:09:04G!3project2025-07-16 18:09:04F!3project2025-07-16 18:08:53E!3project2025-07-16 18:08:50D!3project2025-07-16 18:08:50C!3project2025-07-16 18:08:50B!3project2025-07-16 18:08:50A!3project2025-07-16 18:08:28@  3project2025-07-16 18:08:27?!3project2025-07-16 18:08:27>!3project2025-07-16 18:08:27=!3project2025-07-16 18:08:27<!3project2025-07-16 18:07:29;!3project2025-07-16 18:07:07:  3project2025-07-16 18:07:069!3project2025-07-16 18:07:068!3project2025-07-16 18:07:067!3project2025-07-16 18:07:066!3project2025-07-16 18:06:525!3project2025-07-16 18:06:524!3project2025-07-16 18:06:523!3project2025-07-16 18:06:522!3project2025-07-16 18:05:251!3project2025-07-16 18:05:200!3project2025-07-16 18:04:26/!3project2025-07-16 18:04:20.!3project2025-07-16 18:04:20-!3project2025-07-16 18:04:20,!3project2025-07-16 18:04:20+!3project2025-07-16 18:04:09*!3project2025-07-16 18:04:09)!3project2025-07-16 18:04:09(!3project2025-07-16 18:04:09'!3project2025-07-16 18:03:59&!3project2025-07-16 18:03:59%!3project2025-07-16 18:03:59$!3project2025-07-16 18:03:59#!3project2025-07-16 18:03:42"!3project2025-07-16 18:03:42!!3project2025-07-16 18:03:42 !3project2025-07-16 18:03:42!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32  3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:10!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:02:44!3project2025-07-16 18:01:24 !3project2025-07-16 18:01:20  3project2025-07-16 18:01:16 !3project2025-07-16 18:01:15 !3project2025-07-16 18:01:15 !3project2025-07-16 18:01:15!3project2025-07-16 17:53:16!3project2025-07-16 17:53:16 3todo2025-07-16 17:38:10 3todo2025-07-16 17:38:10  3project2025-07-16 17:38:10 3todo2025-07-16 (!3project2025-07-16 18:06:525 �� 32025-07-16 17:34:38 �f�r � q � ? �  �i�S�=�'���j�>��; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:22�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:10�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:05�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:02:44� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:24� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:20� ; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:16� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:15� ;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:15�;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:01:15�;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 17:53:16�-11�3project_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "project_status": "pending"}2025-07-16 17:53:16�#! !%�%3completiontodoTest Todocompletedtest-agentTest Project{"completion_time": "2025-07-16T12:38:10.518144", "milestone": "completion"}2025-07-16 17:38:10�>' !%�G3status_changetodoTest Todopendingcompletedtest-agentTest Project{"change_type": "status_update", "previous_status": "pending", "current_status": "completed"}2025-07-16 17:38:10X + %!%3project_createdprojectTest Projecttest-agentTest Project2025-07-16 17:38:10� ' )#%%W3status_changetodoTest Todo Itempendingin_progresstest-agent-1test-projectTest Task{"description": "Test status change"}2025-07-16 17:36:37� ' )#%%W3status_changetodoTest Todo Itempendingin_progresstest-agent-1test-projectTest Task{"description": "Test status change"}2025-07-16 17:36:22 �u�_ � I � 3 �  �  |�f�P�:�$���t�X��7;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:07:06�6;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:07:06�5;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:06:52�4;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:06:52�3;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:06:52�2;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:06:52�1;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:05:25�0-�3project_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "project_status": "pending"}2025-07-16 18:05:20�/;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:26�.;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:20�-;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:20�,;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:20�+;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:20�*;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:09�);�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:09�(;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:09�';�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:04:09�&;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:59�%;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:59�$;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:59�#;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:59�";�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:42�!;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:42� ;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:42�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:42�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32�;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:03:32 �� �� � �� � ����� d����� q�#3AAAdd au� q�AAAdd audit trail filtering and search functionalityImplement client-side filtering by event type, agent, date range, and search by entity name or description with instant filtering updatescompleted2025-07-16 13:06:26.5451742025-07-16 13:09:49.466699� o�7AAImplement audit trail data fetching and renderingAdd JavaScript functions to fetch audit trail data from the API, render audit events in a timeline format, and handle real-time updates via WebSocketcompleted2025-07-16 13:06:21.4029432025-07-16 13:09:27.206935�} Y�'AACreate audit trail view HTML structureAdd HTML structure for the audit trail view including timeline container, filtering controls (date range, event type, agent), and empty statecompleted2025-07-16 13:06:16.2298262025-07-16 13:09:04.788583� Y�1 AAAdd audit trail navigation and routingAdd an "Audit Trail" button/tab to the project detail view header and implement client-side routing to switch between kanban and audit trail viewscompleted2025-07-16 13:06:11.0867752025-07-16 13:08:40.621950�} U�+AAAdd completion analytics and metricsImplement analytics calculations like average completion time, agent productivity metrics, task complexity analysis, and completion rate trendscompleted2025-07-16 12:40:19.1722422025-07-16 13:04:09.916009� e�!AAAdd HTTP API endpoint for completion summaryCreate /api/projects/{project_name}/completion-summary HTTP endpoint that provides JSON formatted completion data for external consumptioncompleted2025-07-16 12:40:17.3662532025-07-16 13:03:59.706074�) i�q AACreate get_project_completion_summary MCP toolAdd a new MCP tool that returns comprehensive project completion data including completed tasks/todos with timestamps, agent assignments, duration metrics, and progress analyticscompleted2025-07-16 12:40:15.5569542025-07-16 13:03:49.509900�q [� AAAdd audit logging to project operationsIntegrate audit logging into create_project(), get_project(), and any project status changes to capture project lifecycle eventscompleted2025-07-16 12:37:29.8209562025-07-16 13:02:54.859312�S _�MAAAdd audit logging to file lock operationsIntegrate audit logging into lock_files() and unlock_files() operations to track resource accesscompleted2025-07-16 12:37:34.0980782025-07-16 13:03:32.789923�\ U�iAAAdd audit logging to todo operationsIntegrate audit logging into create_todo_item(), update_todo_status(), todo assignments, and completion eventscompleted2025-07-16 12:37:32.5709362025-07-16 13:03:22.567164�I U�CAAAdd audit logging to task operationsIntegrate audit logging into create_task(), task status changes, and task completion eventscompleted2025-07-16 12:37:31.0453352025-07-16 13:03:12.355990\ #AATest TodoA test todocompleted2025-07-16 12:56:43.9059682025-07-16 12:56:59.065069� M�e AACreate audit_events table schemaDesign and create the audit_events table with fields for: id, event_type, entity_type, entity_id, old_status, new_status, agent_id, project_name, details (JSON), created_atcompleted2025-07-16 12:30:14.7488782025-07-16 12:34:08.219432� W�? AACreate audit logging helper functionsCreate reusable helper functions for logging audit events: log_status_change(), log_project_event(), log_task_event(), log_todo_event(), log_file_event()completed2025-07-16 12:37:28.5910712025-07-16 12:39:09.202982�F G�KAATest database schema creationVerify that the audit_events table is created correctly and can store audit event data properlycompleted2025-07-16 12:30:17.9584392025-07-16 12:37:19.957743�p K�AAAdd database migration functionCreate a database initialization/migration function that creates the audit_events table if it doesn't exist and handles schema upgradescompleted2025-07-16 12:30:16.5234462025-07-16 12:35:33.445699^ -AATest TodoA test todo itempending2025-07-16 12:13:56.0379422025-07-16 12:13:56.037942 ���( K�a#3AAStyle � K�aAAStyle audit trail UI componentsAdd CSS styling for audit trail view including timeline layout, event cards, filtering controls, status indicators, and responsive design matching the existing dark themecompleted2025-07-16 13:06:31.6931832025-07-16 13:11:02.226145 �u�V � : �  z � ^ � H�2��{�e�O�9�#��S;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:37�R;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:37�Q;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:27�P;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:27�O;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:27�N;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:27�M;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:14�L;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:14�K;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:14�J;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:14�I;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:04�H;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:04�G;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:04�F;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:04�E;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:53�D;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:50�C;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:50�B;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:50�A;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:50�@;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:28�?; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:27�>;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:27�=;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:27�<;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:08:27�;;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:07:29�:;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:07:07�9; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:07:06�8;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:07:06 �u�_ � I � 3 �  �  |�f�4���X�9�#� ��o;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:12�n;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:12�m;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:12�l;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:12�k;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:54�j; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:53�i;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:53�h;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:53�g;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:53�f;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:32�e; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:30�d;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:30�c;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:30�b;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:30�a;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:10�`;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:10�_;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:10�^;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:10:10�];�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:59�\;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:59�[;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:59�Z;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:59�Y;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:49�X;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:49�W;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:49�V;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:49�U;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:37�T;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:09:37  �o�C � $ ��u;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:18�t;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:17�s; %%�3project_status_accessedprojecttest-projecttest-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:15�r;�3project_status_accessedprojectmac-mcpmac-mcp{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:15�q;11�3project_status_accessedprojecttest-audit-projecttest-audit-project{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:15�p;!!�3project_status_accessedprojectaudit-testaudit-test{"access_method": "mcp_tool", "current_status": "pending"}2025-07-16 18:11:15 G;�9��� ~��i���|Z�%���xV4"����fD2����vTB �����d�R0��?a� p N , � ^ <  � � � � � n L *  � � � � � \ :  k I '  � � � �7Y{�G��� ��F$8it� ��h��!3project2025-07-16 18:11:15r!3project2025-07-16 18:11:17t!  3project2025-07-16 18:11:15s!3project2025-07-16 18:11:12o!3project2025-07-16 18:11:12n!3project2025-07-16 18:11:12m!3project2025-07-16 18:11:12l!3project2025-07-16 18:10:54k  3project2025-07-16 18:10:53j!3project2025-07-16 18:10:53i�"3project2025-07-16 18:10:53h!3project2025-07-16 18:11:18u!3project2025-07-16 18:10:32f  3project2025-07-16 18:10:30e!3project2025-07-16 18:10:30dtD3project2025-07-16 18:10:30c!3project2025-07-16 18:10:30b!3project2025-07-16 18:10:10a!3project2025-07-16 18:10:10`!3project2025-07-16 18:10:10_!3project2025-07-16 18:10:10^!3project2025-07-16 18:09:59]!3project2025-07-16 18:09:59\!3project2025-07-16 18:09:59[!3project2025-07-16 18:09:59Z!3project2025-07-16 18:09:49Y!3project2025-07-16 18:09:49X!3project2025-07-16 18:09:49W!3project2025-07-16 18:09:49V!3project2025-07-16 18:09:37U!3project2025-07-16 18:09:37T!3project2025-07-16 18:09:37S!3project2025-07-16 18:09:37R!3project2025-07-16 18:09:27Q!3project2025-07-16 18:09:27P!3project2025-07-16 18:09:27O!3project2025-07-16 18:09:27N!3project2025-07-16 18:09:14M!3project2025-07-16 18:09:14L!3project2025-07-16 18:09:14K!3project2025-07-16 18:09:14J!3project2025-07-16 18:09:04I!3project2025-07-16 18:09:04H!3project2025-07-16 18:09:04G!3project2025-07-16 18:09:04F!3project2025-07-16 18:08:53E!3project2025-07-16 18:08:50D!3project2025-07-16 18:08:50C!3project2025-07-16 18:08:50B�"3project2025-07-16 18:08:50A!3project2025-07-16 18:08:28@  3project2025-07-16 18:08:27?!3project2025-07-16 18:08:27>�D3project2025-07-16 18:08:27=!3project2025-07-16 18:08:27<!3project2025-07-16 18:07:29;!3project2025-07-16 18:07:07:  3project2025-07-16 18:07:069!3project2025-07-16 18:07:068 �f3project2025-07-16 18:07:067!3project2025-07-16 18:07:066 �"3project2025-07-16 18:06:525!3project2025-07-16 18:06:524!3project2025-07-16 18:06:523!3project2025-07-16 18:06:522 ��3project2025-07-16 18:05:251!3project2025-07-16 18:05:200!3project2025-07-16 18:04:26/!3project2025-07-16 18:04:20.!3project2025-07-16 18:04:20-!3project2025-07-16 18:04:20,!3project2025-07-16 18:04:20+!3project2025-07-16 18:04:09*!3project2025-07-16 18:04:09)!3project2025-07-16 18:04:09(!3project2025-07-16 18:04:09'!3project2025-07-16 18:03:59&!3project2025-07-16 18:03:59%!3project2025-07-16 18:03:59$!3project2025-07-16 18:03:59#!3project2025-07-16 18:03:42"!3project2025-07-16 18:03:42!!3project2025-07-16 18:03:42 !3project2025-07-16 18:03:42!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32  3project2025-07-16 18:03:32��3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32��3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:10!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:02:44!3project2025-07-16 18:01:24 !3project2025-07-16 18:01:20  3project2025-07-16 18:01:16 ��3project2025-07-16 18:01:15 !3project2025-07-16 18:01:15 !3project2025-07-16 18:01:15!3project2025-07-16 17:53:16!3project2025-07-16 17:53:16 3todo2025-07-16 17:38:10 3todo2025-07-16 17:38:10  3project2025-07-16 17:38:10;3todo2025-07-16 17:36:37 3 todo2025-07-16 17:36:22 9���xV4����hF$ � � � z X 6  � � � � j H &  � � � | Z 8  � � � � l J (  � � � ~ \ : ���� 3 todo2025-07-16 17:36:22 3todo2025-07-16 17:36:37 3todo2025-07-16 17:38:10 3todo2025-07-16 17:38:10!3project2025-07-16 18:01:15!3project2025-07-16 18:03:32!3project2025-07-16 18:07:066!3project2025-07-16 18:08:27<!3project2025-07-16 18:08:50A!3project2025-07-16 18:10:30b!3project2025-07-16 18:10:53g!3project2025-07-16 18:11:15p!3project2025-07-16 17:53:16!3project2025-07-16 17:53:16!3project2025-07-16 18:01:15 !3project2025-07-16 18:03:32!3project2025-07-16 18:07:067!3project2025-07-16 18:08:27=!3project2025-07-16 18:10:30c!3project2025-07-16 18:10:53h!3project2025-07-16 18:11:15q!3project2025-07-16 18:01:15 !3project2025-07-16 18:01:20 !3project2025-07-16 18:01:24 !3project2025-07-16 18:02:44!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:05!3project2025-07-16 18:03:10!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:22!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:32!3project2025-07-16 18:03:42"!3project2025-07-16 18:03:42!!3project2025-07-16 18:03:42 !3project2025-07-16 18:03:42!3project2025-07-16 18:03:59&!3project2025-07-16 18:03:59%!3project2025-07-16 18:03:59$!3project2025-07-16 18:03:59#!3project2025-07-16 18:04:09*!3project2025-07-16 18:04:09)!3project2025-07-16 18:04:09(!3project2025-07-16 18:04:09'!3project2025-07-16 18:04:20.!3project2025-07-16 18:04:20-!3project2025-07-16 18:04:20,!3project2025-07-16 18:04:20+!3project2025-07-16 18:04:26/!3project2025-07-16 18:05:200!3project2025-07-16 18:05:251 /=�mHZ�@c� ��":���}�B�����cC#����cC#����cC#����c�C#��9Y� l L � � � L , � � � � l L , � � � � l q , � ?  � � _ � � �  �?�/b�� �����y L_��3mac-mcp2025-07-16 18:11:15r test-a3mac-mcp2025-07-16 18:11:17t"!3audit-test2025-07-16 18:11:15p3mac-mcp2025-07-16 18:11:12o3mac-mcp2025-07-16 18:11:12n3mac-mcp2025-07-16 18:11:12m3mac-mcp2025-07-16 18:11:12l3mac-mcp2025-07-16 18:10:54kb3mac-mcp2025-07-16 18:11:18u3mac-mcp2025-07-16 18:10:53i�+test-audit-project2025-07-16 18:10:53h"!3audit-test2025-07-16 18:10:53g3mac-mcp2025-07-16 18:10:32f%test-project2025-07-16 18:10:30e3mac-mcp2025-07-16 18:10:30d�+test-audit-project2025-07-16 18:10:30c"!3audit-test2025-07-16 18:10:30b3mac-mcp2025-07-16 18:10:10a3mac-mcp2025-07-16 18:10:10`3mac-mcp2025-07-16 18:10:10_3mac-mcp2025-07-16 18:10:10^3mac-mcp2025-07-16 18:09:59]3mac-mcp2025-07-16 18:09:59\3mac-mcp2025-07-16 18:09:59[3mac-mcp2025-07-16 18:09:59Z3mac-mcp2025-07-16 18:09:49Y3mac-mcp2025-07-16 18:09:49X3mac-mcp2025-07-16 18:09:49W3mac-mcp2025-07-16 18:09:49V3mac-mcp2025-07-16 18:09:37U3mac-mcp2025-07-16 18:09:37T3mac-mcp2025-07-16 18:09:37S3mac-mcp2025-07-16 18:09:37R3mac-mcp2025-07-16 18:09:27Q3mac-mcp2025-07-16 18:09:27P3mac-mcp2025-07-16 18:09:27O3mac-mcp2025-07-16 18:09:27N3mac-mcp2025-07-16 18:09:14M3mac-mcp2025-07-16 18:09:14L3mac-mcp2025-07-16 18:09:14K3mac-mcp2025-07-16 18:09:14J3mac-mcp2025-07-16 18:09:04I3mac-mcp2025-07-16 18:09:04H3mac-mcp2025-07-16 18:09:04G3mac-mcp2025-07-16 18:09:04F3mac-mcp2025-07-16 18:08:53E3mac-mcp2025-07-16 18:08:50D3mac-mcp2025-07-16 18:08:50C3mac-mcp2025-07-16 18:08:50B"!3audit-test2025-07-16 18:08:50A3mac-mcp2025-07-16 18:08:28@�%test-project2025-07-16 18:08:27?3mac-mcp2025-07-16 18:08:27>y+test-audit-project2025-07-16 18:08:27="!3audit-test2025-07-16 18:08:27<3mac-mcp2025-07-16 18:07:29;3mac-mcp2025-07-16 18:07:07:�%test-project2025-07-16 18:07:0693mac-mcp2025-07-16 18:07:068 +test-audit-project2025-07-16 18:07:067"!3audit-test2025-07-16 18:07:066 �@mac-mcp2025-07-16 18:06:5253mac-mcp2025-07-16 18:06:5243mac-mcp2025-07-16 18:06:5233mac-mcp2025-07-16 18:06:522 �0mac-mcp2025-07-16 18:05:2513mac-mcp2025-07-16 18:05:2003mac-mcp2025-07-16 18:04:26/3mac-mcp2025-07-16 18:04:20.3mac-mcp2025-07-16 18:04:20-3mac-mcp2025-07-16 18:04:20,3mac-mcp2025-07-16 18:04:20+3mac-mcp2025-07-16 18:04:09*3mac-mcp2025-07-16 18:04:09)3mac-mcp2025-07-16 18:04:09(3mac-mcp2025-07-16 18:04:09'3mac-mcp2025-07-16 18:03:59&3mac-mcp2025-07-16 18:03:59%3mac-mcp2025-07-16 18:03:59$3mac-mcp2025-07-16 18:03:59#3mac-mcp2025-07-16 18:03:42"3mac-mcp2025-07-16 18:03:42!3mac-mcp2025-07-16 18:03:42 3mac-mcp2025-07-16 18:03:423mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:32$%3test-project2025-07-16 18:03:32 �Kmac-mcp2025-07-16 18:03:32*13test-audit-project2025-07-16 18:03:32"!3audit-test2025-07-16 18:03:32��mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:103mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:02:443mac-mcp2025-07-16 18:01:24 3mac-mcp2025-07-16 18:01:20 $%3test-project2025-07-16 18:01:16 �Kmac-mcp2025-07-16 18:01:15 *13test-audit-project2025-07-16 18:01:15 "!3audit-test2025-07-16 18:01:15�Vtest-audit-project2025-07-16 17:53:16*13test-audit-project2025-07-16 17:53:16$%3Test Project2025-07-16 17:38:10$%3Test Project2025-07-16 17:38:10$%3Test Project2025-07-16 17:38:10Itest-project2025-07-16 17:36:37#%3 test-project2025-07-16 17:36:22 7�����`@ ����`@  � � � � ` @ � � � � ` @ � � � � ` 5 � � � ^ 3  � � � n I $����#%3 test-project2025-07-16 17:36:22$%3test-project2025-07-16 17:36:37$%3test-project2025-07-16 18:01:16 $%3test-project2025-07-16 18:03:32$%3test-project2025-07-16 18:07:069$%3test-project2025-07-16 18:08:27?$%3test-project2025-07-16 18:10:30e$%3test-project2025-07-16 18:10:53j$%3test-project2025-07-16 18:11:15s*13test-audit-project2025-07-16 17:53:16*13test-audit-project2025-07-16 17:53:16*13test-audit-project2025-07-16 18:01:15 *13test-audit-project2025-07-16 18:03:32*13test-audit-project2025-07-16 18:07:067*13test-audit-project2025-07-16 18:08:27=*13test-audit-project2025-07-16 18:10:30c*13test-audit-project2025-07-16 18:10:53h*13test-audit-project2025-07-16 18:11:15q3mac-mcp2025-07-16 18:01:15 3mac-mcp2025-07-16 18:01:20 3mac-mcp2025-07-16 18:01:24 3mac-mcp2025-07-16 18:02:443mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:053mac-mcp2025-07-16 18:03:103mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:223mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:323mac-mcp2025-07-16 18:03:42"3mac-mcp2025-07-16 18:03:42!3mac-mcp2025-07-16 18:03:42 3mac-mcp2025-07-16 18:03:423mac-mcp2025-07-16 18:03:59&3mac-mcp2025-07-16 18:03:59%3mac-mcp2025-07-16 18:03:59$3mac-mcp2025-07-16 18:03:59#3mac-mcp2025-07-16 18:04:09*3mac-mcp2025-07-16 18:04:09)3mac-mcp2025-07-16 18:04:09(3mac-mcp2025-07-16 18:04:09'3mac-mcp2025-07-16 18:04:20.3mac-mcp2025-07-16 18:04:20-3mac-mcp2025-07-16 18:04:20,3mac-mcp2025-07-16 18:04:20+3mac-mcp2025-07-16 18:04:26/3mac-mcp2025-07-16 18:05:2003mac-mcp2025-07-16 18:05:2513mac-mcp2025-07-16 18:06:525

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/AndrewDavidRivers/multi-agent-coordination-mcp'

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