posterly-mcp-server 0.20.7 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -108,7 +108,7 @@ Add the same server definition to your Cursor MCP settings:
108
108
 
109
109
  ## Available tools
110
110
 
111
- `posterly-mcp-server@0.20.7` exposes 58 tools.
111
+ `posterly-mcp-server@0.20.8` exposes 59 tools.
112
112
 
113
113
  Public setup tools work before `POSTERLY_API_KEY` exists:
114
114
 
@@ -126,6 +126,7 @@ Authenticated tools require `POSTERLY_API_KEY`:
126
126
  - `create_connect_session` (create a guided browser handoff for connecting a social account)
127
127
  - `get_connect_session` (poll connection progress while the user approves OAuth or enters credentials)
128
128
  - `create_api_key` (create a new API key after explicit confirmation; scopes cannot exceed the calling dashboard key)
129
+ - `delete_api_key` (revoke a user-created API key after explicit confirmation)
129
130
  - `list_oauth_clients`
130
131
  - `create_oauth_client` (create a public PKCE client after explicit confirmation)
131
132
  - `update_oauth_client` (update redirect URIs/scopes after explicit confirmation)
package/dist/index.js CHANGED
@@ -57,6 +57,7 @@ import { getConnectLinkTool } from './tools/get-connect-link.js';
57
57
  import { createConnectSessionTool } from './tools/create-connect-session.js';
58
58
  import { getConnectSessionTool } from './tools/get-connect-session.js';
59
59
  import { createApiKeyTool } from './tools/create-api-key.js';
60
+ import { deleteApiKeyTool } from './tools/delete-api-key.js';
60
61
  import { listOAuthClientsTool } from './tools/list-oauth-clients.js';
61
62
  import { createOAuthClientTool } from './tools/create-oauth-client.js';
62
63
  import { updateOAuthClientTool } from './tools/update-oauth-client.js';
@@ -166,6 +167,15 @@ server.tool(createApiKeyTool.name, createApiKeyTool.description, createApiKeyToo
166
167
  return { content: [{ type: 'text', text: `Error: ${err.message}` }], isError: true };
167
168
  }
168
169
  });
170
+ server.tool(deleteApiKeyTool.name, deleteApiKeyTool.description, deleteApiKeyTool.inputSchema.shape, async (input) => {
171
+ try {
172
+ const text = await deleteApiKeyTool.execute(client, input);
173
+ return { content: [{ type: 'text', text }] };
174
+ }
175
+ catch (err) {
176
+ return { content: [{ type: 'text', text: `Error: ${err.message}` }], isError: true };
177
+ }
178
+ });
169
179
  server.tool(listOAuthClientsTool.name, listOAuthClientsTool.description, listOAuthClientsTool.inputSchema.shape, async () => {
170
180
  try {
171
181
  const text = await listOAuthClientsTool.execute(client);
@@ -187,6 +187,20 @@ export type CreateApiKeyResponse = {
187
187
  uses_grandfathered_keys?: boolean;
188
188
  };
189
189
  };
190
+ export type DeleteApiKeyResponse = {
191
+ revoked: true;
192
+ already_revoked: boolean;
193
+ api_key: {
194
+ id: string;
195
+ name: string;
196
+ key_prefix: string;
197
+ scopes: ApiKeyScope[];
198
+ workspace_id?: string | null;
199
+ expires_at?: string | null;
200
+ created_at: string;
201
+ is_revoked?: boolean;
202
+ };
203
+ };
190
204
  export type AskSupportResponse = {
191
205
  success: boolean;
192
206
  workspace_id: string;
@@ -581,6 +595,9 @@ export declare class PosterlyClient {
581
595
  getSignupSession(sessionId: string): Promise<PublicSignupSessionResponse>;
582
596
  whoami(): Promise<Whoami>;
583
597
  createApiKey(data: CreateApiKeyPayload): Promise<CreateApiKeyResponse>;
598
+ deleteApiKey(keyId: string, data: {
599
+ confirm: true;
600
+ }): Promise<DeleteApiKeyResponse>;
584
601
  listAccounts(params?: {
585
602
  workspace_id?: string;
586
603
  }): Promise<Account[]>;
@@ -116,6 +116,9 @@ export class PosterlyClient {
116
116
  async createApiKey(data) {
117
117
  return this.request('POST', '/api-keys', data);
118
118
  }
119
+ async deleteApiKey(keyId, data) {
120
+ return this.request('DELETE', `/api-keys/${encodeURIComponent(keyId)}`, data);
121
+ }
119
122
  async listAccounts(params) {
120
123
  const searchParams = new URLSearchParams();
121
124
  if (params?.workspace_id)
@@ -1 +1 @@
1
- export declare const POSTERLY_MCP_VERSION = "0.20.7";
1
+ export declare const POSTERLY_MCP_VERSION = "0.20.8";
@@ -1 +1 @@
1
- export const POSTERLY_MCP_VERSION = '0.20.7';
1
+ export const POSTERLY_MCP_VERSION = '0.20.8';