contextforge-mcp 0.1.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 ADDED
@@ -0,0 +1,195 @@
1
+ # ContextForge MCP Server
2
+
3
+ Intelligent contextual memory system for AI-powered development. Store and retrieve knowledge across conversations, perfect for Claude Desktop and Claude Code.
4
+
5
+ ## 🚀 Quick Start
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ npm install -g contextforge-mcp
11
+ ```
12
+
13
+ Or use without installing:
14
+
15
+ ```bash
16
+ npx contextforge-mcp
17
+ ```
18
+
19
+ ### Configuration
20
+
21
+ #### For Claude Desktop
22
+
23
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
24
+
25
+ ```json
26
+ {
27
+ "mcpServers": {
28
+ "contextforge": {
29
+ "command": "contextforge-mcp",
30
+ "env": {
31
+ "CONTEXTFORGE_API_KEY": "your-api-key-here",
32
+ "CONTEXTFORGE_API_URL": "https://your-instance.supabase.co/functions/v1"
33
+ }
34
+ }
35
+ }
36
+ }
37
+ ```
38
+
39
+ #### For Claude Code (CLI)
40
+
41
+ Create `.claude/mcp_settings.json` in your project:
42
+
43
+ ```json
44
+ {
45
+ "mcpServers": {
46
+ "contextforge": {
47
+ "command": "contextforge-mcp",
48
+ "env": {
49
+ "CONTEXTFORGE_API_KEY": "your-api-key-here",
50
+ "CONTEXTFORGE_API_URL": "https://your-instance.supabase.co/functions/v1"
51
+ }
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### Get Your API Key
58
+
59
+ 1. Go to your ContextForge dashboard
60
+ 2. Navigate to Settings → API Keys
61
+ 3. Click "Create New Key"
62
+ 4. Copy and paste into your configuration
63
+
64
+ ## 📚 Available Tools
65
+
66
+ ### `memory_ingest`
67
+ Store knowledge in your memory spaces.
68
+
69
+ ```
70
+ Store this API endpoint: POST /api/users creates a new user
71
+ ```
72
+
73
+ ### `memory_query`
74
+ Search across your knowledge base.
75
+
76
+ ```
77
+ How do I create a new user?
78
+ ```
79
+
80
+ ### `memory_list_spaces`
81
+ View all your memory spaces.
82
+
83
+ ```
84
+ Show me my memory spaces
85
+ ```
86
+
87
+ ### `memory_create_space`
88
+ Create a new memory space for organizing knowledge.
89
+
90
+ ```
91
+ Create a space called "API Documentation"
92
+ ```
93
+
94
+ ### `memory_delete`
95
+ Remove specific memories.
96
+
97
+ ```
98
+ Delete memory with ID abc123
99
+ ```
100
+
101
+ ## 🎯 Use Cases
102
+
103
+ - **API Documentation**: Store endpoints, parameters, and examples
104
+ - **Code Patterns**: Remember team conventions and best practices
105
+ - **Project Context**: Keep track of architecture decisions
106
+ - **Personal Notes**: Store shortcuts, commands, and workflows
107
+
108
+ ## 🔧 Environment Variables
109
+
110
+ | Variable | Required | Description |
111
+ |----------|----------|-------------|
112
+ | `CONTEXTFORGE_API_KEY` | Yes | Your ContextForge API key |
113
+ | `CONTEXTFORGE_API_URL` | Yes | Your ContextForge instance URL |
114
+
115
+ ## 📖 Examples
116
+
117
+ ### Storing API Knowledge
118
+
119
+ ```
120
+ User: Store this: The authentication endpoint is POST /api/auth/login
121
+ and requires email and password fields.
122
+
123
+ Claude: ✅ Stored in your API Documentation space
124
+ ```
125
+
126
+ ### Querying Knowledge
127
+
128
+ ```
129
+ User: How do I authenticate users?
130
+
131
+ Claude: Based on your memory, the authentication endpoint is
132
+ POST /api/auth/login and requires email and password fields.
133
+ ```
134
+
135
+ ## 🛠️ Development
136
+
137
+ ### Local Setup
138
+
139
+ ```bash
140
+ git clone https://github.com/alfredoizdev/MCP-context-forge.git
141
+ cd contextforge/packages/mcp-client
142
+ npm install
143
+ npm run build
144
+ npm link
145
+ ```
146
+
147
+ ### Testing Locally with Claude Code
148
+
149
+ After `npm link`, add the server with:
150
+
151
+ ```bash
152
+ claude mcp add -e CONTEXTFORGE_API_KEY=cf_test_secret123 -e CONTEXTFORGE_API_URL=http://127.0.0.1:54321/functions/v1 contextforge -- contextforge-mcp
153
+ ```
154
+
155
+ Verify it's configured:
156
+
157
+ ```bash
158
+ claude mcp list
159
+ ```
160
+
161
+ You should see "contextforge" listed. Now in any Claude Code session, use `/mcp` to see available tools.
162
+
163
+ ### Testing Locally with Claude Desktop
164
+
165
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
166
+
167
+ ```json
168
+ {
169
+ "mcpServers": {
170
+ "contextforge": {
171
+ "command": "contextforge-mcp",
172
+ "env": {
173
+ "CONTEXTFORGE_API_KEY": "cf_test_secret123",
174
+ "CONTEXTFORGE_API_URL": "http://127.0.0.1:54321/functions/v1"
175
+ }
176
+ }
177
+ }
178
+ }
179
+ ```
180
+
181
+ Restart Claude Desktop.
182
+
183
+ ## 🤝 Contributing
184
+
185
+ Contributions are welcome! Please feel free to submit a Pull Request.
186
+
187
+ ## 📄 License
188
+
189
+ MIT
190
+
191
+ ## 🆘 Support
192
+
193
+ - Documentation: https://contextforge.dev/docs
194
+ - Issues: https://github.com/alfredoizdev/MCP-context-forge/issues
195
+ - Discord: https://discord.gg/contextforge
@@ -0,0 +1,74 @@
1
+ import type { Config, Space, QueryInput, QueryResponse, IngestInput, IngestResponse, CreateSpaceInput, RelateInput, Relationship, StatsResponse, DeleteInput, GitConnectInput, GitConnectResponse, GitActivateInput, GitDisconnectInput, GitListResponse, GitSyncInput, GitSyncResponse, GitHistoryInput, GitHistoryResponse, SnapshotCreateInput, SnapshotCreateResponse, SnapshotRestoreInput, SnapshotRestoreResponse, SnapshotDeleteInput, SnapshotListResponse, ExportInput, ExportResponse, ImportInput, ImportResponse, IngestBatchInput, DeleteBatchInput, DeleteBatchResponse } from './types.js';
2
+ export declare class ApiClientError extends Error {
3
+ readonly statusCode: number;
4
+ readonly code?: string | undefined;
5
+ readonly details?: Record<string, unknown> | undefined;
6
+ constructor(message: string, statusCode: number, code?: string | undefined, details?: Record<string, unknown> | undefined);
7
+ }
8
+ export declare class ApiClient {
9
+ private readonly apiKey;
10
+ private readonly baseUrl;
11
+ private readonly defaultSpaceId?;
12
+ constructor(config: Config);
13
+ private request;
14
+ private getSpaceId;
15
+ listSpaces(): Promise<Space[]>;
16
+ getSpace(spaceId: string): Promise<Space>;
17
+ createSpace(input: CreateSpaceInput): Promise<Space>;
18
+ deleteSpace(spaceId: string): Promise<void>;
19
+ query(input: QueryInput): Promise<QueryResponse>;
20
+ ingest(input: IngestInput): Promise<IngestResponse>;
21
+ ingestBatch(spaceId: string | undefined, items: Array<Omit<IngestInput, 'space_id'>>): Promise<IngestResponse>;
22
+ relate(input: RelateInput): Promise<Relationship>;
23
+ deleteItem(input: DeleteInput): Promise<{
24
+ id: string;
25
+ title: string;
26
+ }>;
27
+ getStats(spaceId?: string): Promise<StatsResponse>;
28
+ listItems(spaceId?: string, limit?: number, offset?: number): Promise<{
29
+ items: Array<{
30
+ id: string;
31
+ title: string;
32
+ content_preview: string;
33
+ source_type: string;
34
+ tags: string[];
35
+ category?: string;
36
+ space: string;
37
+ created_at: string;
38
+ }>;
39
+ total: number;
40
+ limit: number;
41
+ offset: number;
42
+ }>;
43
+ healthCheck(): Promise<boolean>;
44
+ gitConnect(input: GitConnectInput): Promise<GitConnectResponse>;
45
+ gitList(spaceId?: string): Promise<GitListResponse>;
46
+ gitActivate(input: GitActivateInput): Promise<{
47
+ success: boolean;
48
+ repository: {
49
+ id: string;
50
+ full_name: string;
51
+ status: string;
52
+ webhook_active: boolean;
53
+ };
54
+ message: string;
55
+ }>;
56
+ gitDisconnect(input: GitDisconnectInput): Promise<{
57
+ success: boolean;
58
+ message: string;
59
+ }>;
60
+ gitSync(input: GitSyncInput): Promise<GitSyncResponse>;
61
+ gitHistory(input: GitHistoryInput): Promise<GitHistoryResponse>;
62
+ snapshotCreate(input: SnapshotCreateInput): Promise<SnapshotCreateResponse>;
63
+ snapshotList(spaceId?: string): Promise<SnapshotListResponse>;
64
+ snapshotRestore(input: SnapshotRestoreInput): Promise<SnapshotRestoreResponse>;
65
+ snapshotDelete(input: SnapshotDeleteInput): Promise<{
66
+ success: boolean;
67
+ message: string;
68
+ }>;
69
+ exportSpace(input: ExportInput): Promise<ExportResponse>;
70
+ importToSpace(input: ImportInput): Promise<ImportResponse>;
71
+ ingestBatchItems(input: IngestBatchInput): Promise<IngestResponse>;
72
+ deleteBatch(input: DeleteBatchInput): Promise<DeleteBatchResponse>;
73
+ }
74
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ export class ApiClientError extends Error {
2
+ statusCode;
3
+ code;
4
+ details;
5
+ constructor(message, statusCode, code, details) {
6
+ super(message);
7
+ this.statusCode = statusCode;
8
+ this.code = code;
9
+ this.details = details;
10
+ this.name = 'ApiClientError';
11
+ }
12
+ }
13
+ export class ApiClient {
14
+ apiKey;
15
+ baseUrl;
16
+ defaultSpaceId;
17
+ constructor(config) {
18
+ this.apiKey = config.apiKey;
19
+ this.baseUrl = config.apiUrl.replace(/\/$/, '');
20
+ this.defaultSpaceId = config.defaultSpace;
21
+ }
22
+ async request(method, path, body) {
23
+ const url = `${this.baseUrl}${path}`;
24
+ const headers = {
25
+ 'Authorization': `Bearer ${this.apiKey}`,
26
+ 'Content-Type': 'application/json',
27
+ };
28
+ const options = {
29
+ method,
30
+ headers,
31
+ };
32
+ if (body && (method === 'POST' || method === 'PATCH')) {
33
+ options.body = JSON.stringify(body);
34
+ }
35
+ let response;
36
+ try {
37
+ response = await fetch(url, options);
38
+ }
39
+ catch (error) {
40
+ throw new ApiClientError(`Network error: ${error instanceof Error ? error.message : 'Unknown error'}`, 0, 'NETWORK_ERROR');
41
+ }
42
+ const contentType = response.headers.get('content-type');
43
+ const isJson = contentType?.includes('application/json');
44
+ if (!response.ok) {
45
+ let errorData = { error: 'Unknown error' };
46
+ if (isJson) {
47
+ try {
48
+ errorData = await response.json();
49
+ }
50
+ catch {
51
+ // Ignore JSON parse errors
52
+ }
53
+ }
54
+ throw new ApiClientError(errorData.error, response.status, errorData.code, errorData.details);
55
+ }
56
+ if (!isJson) {
57
+ return {};
58
+ }
59
+ return response.json();
60
+ }
61
+ getSpaceId(providedSpaceId) {
62
+ const spaceId = providedSpaceId ?? this.defaultSpaceId;
63
+ if (!spaceId) {
64
+ throw new ApiClientError('No space_id provided and no default space configured', 400, 'MISSING_SPACE_ID');
65
+ }
66
+ return spaceId;
67
+ }
68
+ // ============ Spaces ============
69
+ async listSpaces() {
70
+ return this.request('GET', '/functions/v1/spaces');
71
+ }
72
+ async getSpace(spaceId) {
73
+ const spaces = await this.request('GET', '/functions/v1/spaces');
74
+ const space = spaces.find(s => s.id === spaceId);
75
+ if (!space) {
76
+ throw new ApiClientError('Space not found', 404, 'NOT_FOUND');
77
+ }
78
+ return space;
79
+ }
80
+ async createSpace(input) {
81
+ return this.request('POST', '/functions/v1/spaces', {
82
+ name: input.name,
83
+ description: input.description,
84
+ });
85
+ }
86
+ async deleteSpace(spaceId) {
87
+ // TODO: Implement delete space edge function
88
+ throw new ApiClientError('Delete space not implemented yet', 501, 'NOT_IMPLEMENTED');
89
+ }
90
+ // ============ Query ============
91
+ async query(input) {
92
+ const spaceId = this.getSpaceId(input.space_id);
93
+ return this.request('POST', '/functions/v1/query', {
94
+ space_id: spaceId,
95
+ query: input.query,
96
+ limit: input.limit,
97
+ min_score: input.min_score,
98
+ filters: input.filters,
99
+ include_relationships: input.include_relationships,
100
+ });
101
+ }
102
+ // ============ Ingest ============
103
+ async ingest(input) {
104
+ const spaceId = this.getSpaceId(input.space_id);
105
+ return this.request('POST', '/functions/v1/ingest', {
106
+ space_id: spaceId,
107
+ items: [{
108
+ content: input.content,
109
+ title: input.title,
110
+ source_type: input.source_type,
111
+ source_uri: input.source_uri,
112
+ tags: input.tags,
113
+ category: input.category,
114
+ }],
115
+ options: {
116
+ deduplicate: true,
117
+ chunk_large_content: true,
118
+ },
119
+ });
120
+ }
121
+ async ingestBatch(spaceId, items) {
122
+ const resolvedSpaceId = this.getSpaceId(spaceId);
123
+ return this.request('POST', '/functions/v1/ingest', {
124
+ space_id: resolvedSpaceId,
125
+ items: items.map(item => ({
126
+ content: item.content,
127
+ title: item.title,
128
+ source_type: item.source_type ?? 'manual',
129
+ source_uri: item.source_uri,
130
+ tags: item.tags ?? [],
131
+ category: item.category,
132
+ })),
133
+ options: {
134
+ deduplicate: true,
135
+ chunk_large_content: true,
136
+ },
137
+ });
138
+ }
139
+ // ============ Relationships ============
140
+ async relate(input) {
141
+ return this.request('POST', '/rest/v1/relationships', {
142
+ source_item_id: input.source_id,
143
+ target_item_id: input.target_id,
144
+ relationship_type: input.relationship_type,
145
+ weight: input.weight,
146
+ is_auto_detected: false,
147
+ });
148
+ }
149
+ // ============ Delete ============
150
+ async deleteItem(input) {
151
+ const result = await this.request('POST', '/functions/v1/delete-item', {
152
+ id: input.id,
153
+ title: input.title,
154
+ });
155
+ return result.deleted;
156
+ }
157
+ // ============ Stats ============
158
+ async getStats(spaceId) {
159
+ const resolvedSpaceId = spaceId ?? this.defaultSpaceId;
160
+ const path = resolvedSpaceId
161
+ ? `/functions/v1/stats?space_id=${resolvedSpaceId}`
162
+ : '/functions/v1/stats';
163
+ return this.request('GET', path);
164
+ }
165
+ // ============ List Items ============
166
+ async listItems(spaceId, limit, offset) {
167
+ const params = new URLSearchParams();
168
+ if (spaceId)
169
+ params.set('space_id', spaceId);
170
+ if (limit)
171
+ params.set('limit', limit.toString());
172
+ if (offset)
173
+ params.set('offset', offset.toString());
174
+ const queryString = params.toString();
175
+ const path = `/functions/v1/items${queryString ? `?${queryString}` : ''}`;
176
+ return this.request('GET', path);
177
+ }
178
+ // ============ Health Check ============
179
+ async healthCheck() {
180
+ try {
181
+ await this.request('GET', '/functions/v1/health');
182
+ return true;
183
+ }
184
+ catch {
185
+ return false;
186
+ }
187
+ }
188
+ // ============ Git Integration ============
189
+ async gitConnect(input) {
190
+ return this.request('POST', '/functions/v1/git-repos', {
191
+ repo_url: input.repo_url,
192
+ space_id: input.space_id,
193
+ });
194
+ }
195
+ async gitList(spaceId) {
196
+ const params = new URLSearchParams();
197
+ if (spaceId)
198
+ params.set('space_id', spaceId);
199
+ const queryString = params.toString();
200
+ const path = `/functions/v1/git-repos${queryString ? `?${queryString}` : ''}`;
201
+ return this.request('GET', path);
202
+ }
203
+ async gitActivate(input) {
204
+ return this.request('POST', '/functions/v1/git-activate', {
205
+ repository_id: input.repository_id,
206
+ repo: input.repo,
207
+ active: input.active,
208
+ });
209
+ }
210
+ async gitDisconnect(input) {
211
+ const params = new URLSearchParams();
212
+ if (input.repository_id)
213
+ params.set('id', input.repository_id);
214
+ if (input.repo)
215
+ params.set('repo', input.repo);
216
+ return this.request('DELETE', `/functions/v1/git-repos?${params.toString()}`);
217
+ }
218
+ async gitSync(input) {
219
+ return this.request('POST', '/functions/v1/git-sync', {
220
+ repository_id: input.repository_id,
221
+ repo: input.repo,
222
+ sync_type: input.sync_type,
223
+ limit: input.limit,
224
+ });
225
+ }
226
+ async gitHistory(input) {
227
+ const params = new URLSearchParams();
228
+ if (input.type)
229
+ params.set('type', input.type);
230
+ if (input.repository_id)
231
+ params.set('repository_id', input.repository_id);
232
+ if (input.repo)
233
+ params.set('repo', input.repo);
234
+ if (input.space_id)
235
+ params.set('space_id', input.space_id);
236
+ if (input.limit)
237
+ params.set('limit', input.limit.toString());
238
+ if (input.offset)
239
+ params.set('offset', input.offset.toString());
240
+ return this.request('GET', `/functions/v1/git-history?${params.toString()}`);
241
+ }
242
+ // ============ Snapshots ============
243
+ async snapshotCreate(input) {
244
+ return this.request('POST', '/functions/v1/snapshots', {
245
+ space_id: input.space_id,
246
+ name: input.name,
247
+ description: input.description,
248
+ });
249
+ }
250
+ async snapshotList(spaceId) {
251
+ const params = new URLSearchParams();
252
+ if (spaceId)
253
+ params.set('space_id', spaceId);
254
+ const queryString = params.toString();
255
+ const path = `/functions/v1/snapshots${queryString ? `?${queryString}` : ''}`;
256
+ return this.request('GET', path);
257
+ }
258
+ async snapshotRestore(input) {
259
+ return this.request('POST', '/functions/v1/snapshots', {
260
+ action: 'restore',
261
+ snapshot_id: input.snapshot_id,
262
+ mode: input.mode,
263
+ });
264
+ }
265
+ async snapshotDelete(input) {
266
+ return this.request('DELETE', `/functions/v1/snapshots?id=${input.snapshot_id}`);
267
+ }
268
+ // ============ Import/Export ============
269
+ async exportSpace(input) {
270
+ const params = new URLSearchParams();
271
+ params.set('space_id', input.space_id);
272
+ params.set('format', input.format || 'json');
273
+ return this.request('GET', `/functions/v1/export?${params.toString()}`);
274
+ }
275
+ async importToSpace(input) {
276
+ return this.request('POST', '/functions/v1/import', {
277
+ space_id: input.space_id,
278
+ format: input.format,
279
+ data: input.data,
280
+ items: input.items,
281
+ });
282
+ }
283
+ // ============ Batch Operations ============
284
+ async ingestBatchItems(input) {
285
+ const spaceId = this.getSpaceId(input.space_id);
286
+ return this.request('POST', '/functions/v1/ingest', {
287
+ space_id: spaceId,
288
+ items: input.items.map(item => ({
289
+ content: item.content,
290
+ title: item.title,
291
+ source_type: item.source_type ?? 'manual',
292
+ source_uri: item.source_uri,
293
+ tags: item.tags ?? [],
294
+ category: item.category,
295
+ })),
296
+ options: {
297
+ deduplicate: true,
298
+ chunk_large_content: true,
299
+ },
300
+ });
301
+ }
302
+ async deleteBatch(input) {
303
+ return this.request('POST', '/functions/v1/delete-batch', {
304
+ space_id: input.space_id,
305
+ filter: input.filter,
306
+ dry_run: input.dry_run ?? true,
307
+ });
308
+ }
309
+ }
310
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}