manage_workspace
Configure workspace settings, retrieve usage data, and manage workspace details with predefined actions for organizing and maintaining Tally MCP server environments.
Instructions
Manage workspace settings and information
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform on workspace | |
| settings | No |
Implementation Reference
- src/tools/workspace-tool.ts:5-31 (handler)Main handler implementation for manage_workspace tool via WorkspaceManagementTool class methodsexport class WorkspaceManagementTool { private workspaceService: WorkspaceService; constructor(apiClientConfig: TallyApiClientConfig = {}) { this.workspaceService = new WorkspaceService(apiClientConfig); } public async listWorkspaces(options: { page?: number; limit?: number } = {}): Promise<TallyWorkspacesResponse> { return this.workspaceService.getWorkspaces(options); } public async getWorkspaceDetails(workspaceId: string): Promise<TallyWorkspace> { return this.workspaceService.getWorkspace(workspaceId); } public async inviteUserToWorkspace(workspaceId: string, email: string, role: UserRole): Promise<any> { return this.workspaceService.inviteUser(workspaceId, email, role); } public async removeUserFromWorkspace(workspaceId: string, userId: string): Promise<any> { return this.workspaceService.removeUser(workspaceId, userId); } public async updateUserRoleInWorkspace(workspaceId: string, userId: string, role: UserRole): Promise<any> { return this.workspaceService.updateUserRole(workspaceId, userId, role); } }
- src/server.ts:1629-1648 (handler)Dispatch handler in _handleToolsCall method for the manage_workspace toolcase 'manage_workspace': if (args && args.action === 'get_info') { const workspaceInfo = await this.tools.workspaceManagement.listWorkspaces(); return { content: [ { type: 'text', text: JSON.stringify(workspaceInfo, null, 2) } ] }; } return { content: [ { type: 'text', text: 'Workspace management functionality is being implemented' } ] };
- src/server.ts:1283-1293 (registration)Registration and instantiation of all tool instances including WorkspaceManagementToolworkspaceManagement: new WorkspaceManagementTool(apiClientConfig), template: new TemplateTool(), form_creation: new FormCreationTool(apiClientConfig), form_modification: new FormModificationTool(apiClientConfig), form_retrieval: new FormRetrievalTool(apiClientConfig), form_sharing: new FormSharingTool(tallyApiClient), form_permissions: new FormPermissionManager(apiClientConfig), submission_analysis: new SubmissionAnalysisTool(apiClientConfig), diagnostic: new DiagnosticTool(), }; this.log('info', 'Tools initialized.');
- src/server.ts:1512-1532 (schema)Input schema definition for manage_workspace tool in tools listname: 'manage_workspace', description: 'Manage workspace settings and information', inputSchema: { type: 'object', properties: { action: { type: 'string', enum: ['get_info', 'update_settings', 'list_members'], description: 'Action to perform on the workspace' }, settings: { type: 'object', properties: { name: { type: 'string', description: 'Workspace name' }, description: { type: 'string', description: 'Workspace description' } } } }, required: ['action'] } },
- Supporting service class that delegates workspace operations to TallyApiClientexport class WorkspaceService { private apiClient: TallyApiClient; constructor(config: TallyApiClientConfig = {}) { this.apiClient = new TallyApiClient(config); } public async getWorkspaces(options: { page?: number; limit?: number } = {}): Promise<TallyWorkspacesResponse> { return this.apiClient.getWorkspaces(options); } public async getWorkspace(workspaceId: string): Promise<TallyWorkspace> { return this.apiClient.getWorkspace(workspaceId); } public async inviteUser(workspaceId: string, email: string, role: UserRole): Promise<any> { return this.apiClient.inviteUserToWorkspace(workspaceId, email, role); } public async removeUser(workspaceId: string, userId: string): Promise<any> { return this.apiClient.removeUserFromWorkspace(workspaceId, userId); } public async updateUserRole(workspaceId: string, userId: string, role: UserRole): Promise<any> { return this.apiClient.updateUserRole(workspaceId, userId, role); } }