Skip to main content
Glama

BoldSign MCP Server

revokeDocument.ts2.37 kB
import { DocumentApi, returnTypeI, RevokeDocument } from 'boldsign'; import { z } from 'zod'; import * as commonSchema from '../../utils/commonSchema.js'; import { configuration } from '../../utils/constants.js'; import { handleMcpError, handleMcpResponse } from '../../utils/toolsUtils.js'; import { BoldSignTool, McpResponse } from '../../utils/types.js'; import ToolNames from '../toolNames.js'; const RevokeDocumentSchema = z.object({ documentId: commonSchema.InputIdSchema.describe( 'Required. The unique identifier (ID) of the document to revoke. This can be obtained from the list documents tool.', ), message: z.string().describe('The exact reason for performing a revoke action.'), onBehalfOf: commonSchema.EmailSchema.optional() .nullable() .describe( 'Optional. Email address of the sender when creating a document on their behalf. This email can be retrieved from the `behalfOf` property in the get document or list documents tool.', ), }); type RevokeDocumentSchemaType = z.infer<typeof RevokeDocumentSchema>; export const revokeDocumentToolDefinition: BoldSignTool = { method: ToolNames.RevokeDocument.toString(), name: 'Revoke document', description: 'The document signing process can be called off or revoked by the sender of the document. Once you revoke a document, signers can no longer view or sign it. Revoke action can only be performed on the in-progress status documents.', inputSchema: RevokeDocumentSchema, async handler(args: unknown): Promise<McpResponse> { return await revokeDocumentHandler(args as RevokeDocumentSchemaType); }, }; async function revokeDocumentHandler(payload: RevokeDocumentSchemaType): Promise<McpResponse> { try { const documentApi = new DocumentApi(); documentApi.basePath = configuration.getBasePath(); documentApi.setApiKey(configuration.getApiKey()); const revokeDocumentRequest: RevokeDocument = new RevokeDocument(); revokeDocumentRequest.message = payload.message; revokeDocumentRequest.onBehalfOf = payload.onBehalfOf; const documentResponse: returnTypeI = await documentApi.revokeDocument( payload.documentId, revokeDocumentRequest, ); return handleMcpResponse({ data: documentResponse?.response?.data ?? documentResponse, }); } catch (error: any) { return handleMcpError(error); } }

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/Synctest-hub/boldsign-mcp'

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