brief-mcp 1.1.0 → 1.3.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.
Files changed (2) hide show
  1. package/dist/index.js +31 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -63,6 +63,10 @@ class SupabaseClient {
63
63
  const response = await axios.post(`${EDGE_FUNCTIONS_URL}/delete-document`, { document_id: documentId }, { headers: this.headers });
64
64
  return response.data;
65
65
  }
66
+ async listOrganizations() {
67
+ const response = await axios.get(`${EDGE_FUNCTIONS_URL}/list-organizations`, { headers: this.headers });
68
+ return response.data;
69
+ }
66
70
  }
67
71
  // ============================================================================
68
72
  // MCP Server
@@ -83,7 +87,7 @@ async function startMCPServer() {
83
87
  tools: [
84
88
  {
85
89
  name: 'search-context',
86
- description: 'Search your organization\'s knowledge base and get AI-powered answers. Model is configurable per organization (Mistral, GLM, or OpenAI).',
90
+ description: 'Search your organization\'s knowledge base and get AI-powered answers. 8 models available: Mistral Small/Nemo, Llama 70B, Qwen 72B/Coder, DeepSeek V3, GLM, GPT-4o Mini.',
87
91
  inputSchema: {
88
92
  type: 'object',
89
93
  properties: {
@@ -139,6 +143,14 @@ async function startMCPServer() {
139
143
  },
140
144
  required: ['id']
141
145
  }
146
+ },
147
+ {
148
+ name: 'list-organizations',
149
+ description: 'List all organizations you belong to, including your role and API key for each',
150
+ inputSchema: {
151
+ type: 'object',
152
+ properties: {}
153
+ }
142
154
  }
143
155
  ]
144
156
  }));
@@ -216,6 +228,24 @@ async function startMCPServer() {
216
228
  }]
217
229
  };
218
230
  }
231
+ case 'list-organizations': {
232
+ const result = await supabase.listOrganizations();
233
+ if (result.organizations.length === 0) {
234
+ return {
235
+ content: [{ type: 'text', text: 'You are not a member of any organization.' }]
236
+ };
237
+ }
238
+ let text = `**${result.total_count} organization(s):**\n\n`;
239
+ result.organizations.forEach((org, i) => {
240
+ const defaultMark = org.is_default ? ' ⭐ (default)' : '';
241
+ text += `${i + 1}. **${org.name}**${defaultMark}\n`;
242
+ text += ` Slug: \`${org.slug}\` | Role: ${org.role} | Members: ${org.member_count}\n`;
243
+ text += ` API Key: \`${org.api_key}\`\n\n`;
244
+ });
245
+ return {
246
+ content: [{ type: 'text', text }]
247
+ };
248
+ }
219
249
  default:
220
250
  throw new Error(`Unknown tool: ${name}`);
221
251
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brief-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Brief MCP - Context-first development with RAG-powered knowledge base",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",