@utaba/ucm-mcp-server 1.1.8 → 2.0.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
@@ -10,24 +10,24 @@ Get your auth token from https://ucm.utaba.ai
10
10
 
11
11
  ## Available MCP Tools
12
12
 
13
- The server provides 11 MCP tools following the `mcp_ucm_` naming convention:
13
+ The server provides 11 MCP tools following the `ucm_` naming convention:
14
14
 
15
15
  ### System Tools
16
- - `mcp_ucm_health_check` - Check MCP server and UCM API connectivity
17
- - `mcp_ucm_quickstart` - Get the UCM quickstart guide (Tell your AI to load this first)
16
+ - `ucm_health_check` - Check MCP server and UCM API connectivity
17
+ - `ucm_quickstart` - Get the UCM quickstart guide (Tell your AI to load this first)
18
18
 
19
19
  ### Discovery Tools
20
- - `mcp_ucm_get_author_index` - Generate dynamic markdown index for an author
21
- - `mcp_ucm_list_repositories` - List all repositories for an author
22
- - `mcp_ucm_list_artifacts` - Browse the 4-level hierarchy
20
+ - `ucm_get_author_index` - Generate dynamic markdown index for an author
21
+ - `ucm_list_repositories` - List all repositories for an author
22
+ - `ucm_list_artifacts` - Browse the 4-level hierarchy
23
23
 
24
24
  ### Artifact Management
25
- - `mcp_ucm_get_artifact` - Retrieve artifact content with auto-chunking
26
- - `mcp_ucm_get_chunk` - Get chunks of large responses
27
- - `mcp_ucm_publish_artifact` - Create/update artifacts
28
- - `mcp_ucm_publish_artifact_fromfile` - File-based publishing (preferred for large files)
29
- - `mcp_ucm_delete_artifact` - Remove artifacts
30
- - `mcp_ucm_get_artifact_versions` - Get version history
25
+ - `ucm_get_artifact` - Retrieve artifact content with auto-chunking
26
+ - `ucm_get_chunk` - Get chunks of large responses
27
+ - `ucm_publish_artifact` - Create/update artifacts
28
+ - `ucm_publish_artifact_fromfile` - File-based publishing (preferred for large files)
29
+ - `ucm_delete_artifact` - Remove artifacts
30
+ - `ucm_get_artifact_versions` - Get version history
31
31
 
32
32
  ## Usage with Claude Desktop
33
33
 
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ async function main() {
11
11
  const program = new Command();
12
12
  program
13
13
  .name('ucm-mcp-server')
14
- .description('Universal Context Manager - Read the mcp_ucm_quickstart first to avoid mistakes')
14
+ .description('Universal Context Manager - Read the ucm_quickstart first to avoid mistakes')
15
15
  .version('1.0.5')
16
16
  .option('-u, --ucm-url <url>', 'UCM API base URL (defaults to https://ucm.utaba.ai)')
17
17
  .option('-p, --port <port>', 'Server port', '3001')
@@ -4,7 +4,7 @@ export class DeleteArtifactTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_delete_artifact';
7
+ return 'ucm_delete_artifact';
8
8
  }
9
9
  get description() {
10
10
  return 'Delete a UCM artifact by path and version. This action cannot be undone. Only the latest or specified version is deleted.';
@@ -6,7 +6,7 @@ export class EditArtifactMetadataTool extends BaseToolController {
6
6
  super(ucmClient, logger, publishingAuthorId);
7
7
  }
8
8
  get name() {
9
- return 'mcp_ucm_edit_artifact_metadata';
9
+ return 'ucm_edit_artifact_metadata';
10
10
  }
11
11
  get description() {
12
12
  return 'Edit artifact metadata and optionally move artifacts to new locations. Supports updating description, namespace, filename, MIME type, technology, and tags. Move operations affect all versions while metadata-only updates apply to latest version only.';
@@ -8,7 +8,7 @@ export class GetArtifactTool extends BaseToolController {
8
8
  this.trustedAuthors = trustedAuthors;
9
9
  }
10
10
  get name() {
11
- return 'mcp_ucm_get_artifact';
11
+ return 'ucm_get_artifact';
12
12
  }
13
13
  get description() {
14
14
  return 'Retrieve UCM artifact content with metadata. Large files are automatically chunked.';
@@ -5,7 +5,7 @@ export class GetArtifactVersionsTool extends BaseToolController {
5
5
  super(ucmClient, logger, publishingAuthorId);
6
6
  }
7
7
  get name() {
8
- return 'mcp_ucm_get_artifact_versions';
8
+ return 'ucm_get_artifact_versions';
9
9
  }
10
10
  get description() {
11
11
  return 'Get all available versions of a specific UCM artifact';
@@ -6,7 +6,7 @@ export class GetChunkTool extends BaseToolController {
6
6
  super(ucmClient, logger, publishingAuthorId);
7
7
  }
8
8
  get name() {
9
- return 'mcp_ucm_get_chunk';
9
+ return 'ucm_get_chunk';
10
10
  }
11
11
  get description() {
12
12
  return 'Retrieve the next chunk of a large UCM artifact response';
@@ -5,7 +5,7 @@ export class ListArtifactsTool extends BaseToolController {
5
5
  super(ucmClient, logger, publishingAuthorId);
6
6
  }
7
7
  get name() {
8
- return 'mcp_ucm_list_artifacts';
8
+ return 'ucm_list_artifacts';
9
9
  }
10
10
  get description() {
11
11
  return `List artifacts with exploratory browsing support. Can list authors, repositories, categories, subcategories, or artifacts depending on path depth. ${this.publishingAuthorId ? "Your author value is '" + this.publishingAuthorId + "'" : ''}`;
@@ -8,7 +8,7 @@ export class PublishArtifactFromFileTool extends BaseToolController {
8
8
  super(ucmClient, logger, publishingAuthorId);
9
9
  }
10
10
  get name() {
11
- return 'mcp_ucm_publish_artifact_fromfile';
11
+ return 'ucm_publish_artifact_fromfile';
12
12
  }
13
13
  get description() {
14
14
  return 'Create or update UCM artifacts from a file URI. Supports versioning. PREFERRED METHOD: Use this tool for file-based content as it is much faster and more efficient. Pass the local file path as a file:// URI (e.g., "file:///path/to/file.txt").';
@@ -6,10 +6,10 @@ export class PublishArtifactTool extends BaseToolController {
6
6
  super(ucmClient, logger, publishingAuthorId);
7
7
  }
8
8
  get name() {
9
- return 'mcp_ucm_publish_artifact';
9
+ return 'ucm_publish_artifact';
10
10
  }
11
11
  get description() {
12
- return 'Create or update UCM artifacts with content and metadata. Supports versioning and automatic conflict detection. The API automatically detects whether to create or update based on existing artifacts. NOTE: Only use this tool for small data - use mcp_ucm_publish_artifact_fromfile for files as it is much faster and more efficient.';
12
+ return 'Create or update UCM artifacts with content and metadata. Supports versioning and automatic conflict detection. The API automatically detects whether to create or update based on existing artifacts. NOTE: Only use this tool for small data - use ucm_publish_artifact_fromfile for files as it is much faster and more efficient.';
13
13
  }
14
14
  get inputSchema() {
15
15
  return {
@@ -4,7 +4,7 @@ export class SearchArtifactsTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_search_artifacts';
7
+ return 'ucm_search_artifacts';
8
8
  }
9
9
  get description() {
10
10
  return `Search artifacts by text across multiple metadata fields with privacy filtering. Searches namespace, filename, description, and tags fields. ${this.publishingAuthorId ? "Your author value is '" + this.publishingAuthorId + "'" : ''}`;
@@ -5,7 +5,7 @@ export class CreateRepositoryTool extends BaseToolController {
5
5
  super(ucmClient, logger, publishingAuthorId);
6
6
  }
7
7
  get name() {
8
- return 'mcp_ucm_create_repository';
8
+ return 'ucm_create_repository';
9
9
  }
10
10
  get description() {
11
11
  const authorInfo = this.publishingAuthorId ? ` Your author id is '${this.publishingAuthorId}'.` : '';
@@ -7,7 +7,7 @@ export class DeleteRepositoryGuidanceTool extends BaseToolController {
7
7
  this.baseUrl = baseUrl;
8
8
  }
9
9
  get name() {
10
- return 'mcp_ucm_delete_repository_guidance';
10
+ return 'ucm_delete_repository_guidance';
11
11
  }
12
12
  get description() {
13
13
  return `Provides guidance for deleting a repository via the web UI.`;
@@ -5,7 +5,7 @@ export class GetRepositoryTool extends BaseToolController {
5
5
  super(ucmClient, logger, publishingAuthorId);
6
6
  }
7
7
  get name() {
8
- return 'mcp_ucm_get_repository';
8
+ return 'ucm_get_repository';
9
9
  }
10
10
  get description() {
11
11
  const authorInfo = this.publishingAuthorId ? ` Your author id is '${this.publishingAuthorId}'.` : '';
@@ -5,7 +5,7 @@ export class UpdateRepositoryTool extends BaseToolController {
5
5
  super(ucmClient, logger, publishingAuthorId);
6
6
  }
7
7
  get name() {
8
- return 'mcp_ucm_update_repository';
8
+ return 'ucm_update_repository';
9
9
  }
10
10
  get description() {
11
11
  const authorInfo = this.publishingAuthorId ? ` Your author id is '${this.publishingAuthorId}'.` : '';
@@ -4,7 +4,7 @@ export class AuthorIndexTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_get_author_index';
7
+ return 'ucm_get_author_index';
8
8
  }
9
9
  get description() {
10
10
  return `Discover a dynamic markdown index guide for AI assistants working with an author\'s content. Your author id is '${this.publishingAuthorId}'`;
@@ -4,7 +4,7 @@ export class AuthorRecentsTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_get_author_recents';
7
+ return 'ucm_get_author_recents';
8
8
  }
9
9
  get description() {
10
10
  return `Generate author activity tracking showing the 20 most recently modified artifacts within an author context. Your author id is '${this.publishingAuthorId}'`;
@@ -1,12 +1,12 @@
1
1
  import { BaseToolController } from '../base/BaseToolController.js';
2
2
  //import packageJson from '../../../../publish/package.json' assert { type: 'json' };
3
- const version = '1.1.7'; //TODO: tried to sync this with packageJson but it didn't work.
3
+ const version = '1.1.8'; //TODO: tried to sync this with packageJson but it didn't work.
4
4
  export class HealthCheckController extends BaseToolController {
5
5
  constructor(ucmClient, logger, publishingAuthorId) {
6
6
  super(ucmClient, logger, publishingAuthorId);
7
7
  }
8
8
  get name() {
9
- return 'mcp_ucm_health_check';
9
+ return 'ucm_health_check';
10
10
  }
11
11
  get description() {
12
12
  return 'Check MCP server and UCM API connectivity status';
@@ -4,7 +4,7 @@ export class ListRepositoriesTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_list_repositories';
7
+ return 'ucm_list_repositories';
8
8
  }
9
9
  get description() {
10
10
  return 'List all repositories for a specific author with pagination and statistics';
@@ -4,10 +4,10 @@ export class QuickstartTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_quickstart';
7
+ return 'ucm_quickstart';
8
8
  }
9
9
  get description() {
10
- return 'IMPORTANT: READ THIS FIRST before using any other tools as it will guide you to understand how to use the UCM system and MCP tools effectively';
10
+ return 'CRITICAL MANDATORY READING: READ THIS FIRST before using any other tools as it will guide you to understand how to use the UCM system and MCP tools effectively';
11
11
  }
12
12
  get inputSchema() {
13
13
  return {
@@ -4,7 +4,7 @@ export class SubmitFeedbackTool extends BaseToolController {
4
4
  super(ucmClient, logger, publishingAuthorId);
5
5
  }
6
6
  get name() {
7
- return 'mcp_ucm_submit_user_issue_or_feedback';
7
+ return 'ucm_submit_user_issue_or_feedback';
8
8
  }
9
9
  get description() {
10
10
  return 'Submit user feedback, bug reports, feature requests ONLY if the user requests it and they want to send details to the UCM development team. Do NOT include sensitive or project related details. Ask the user before submitting the data if it is appropriate.';
@@ -51,7 +51,7 @@ export class McpErrorHandler {
51
51
  return new McpError(McpErrorCode.InvalidParams, 'Parameter validation failed', { originalError: error });
52
52
  }
53
53
  if (message?.includes('ECONNREFUSED')) {
54
- return new McpError(McpErrorCode.ExternalServiceUnavailable, 'External API is unavailable, try the mcp_ucm_health_check tool', { originalError: error });
54
+ return new McpError(McpErrorCode.ExternalServiceUnavailable, 'External API is unavailable, try the ucm_health_check tool', { originalError: error });
55
55
  }
56
56
  if (message?.includes('validation') || message?.includes('invalid') ||
57
57
  message?.includes('required') || message?.includes('must be')) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utaba/ucm-mcp-server",
3
- "version": "1.1.8",
3
+ "version": "2.0.0",
4
4
  "description": "Universal Context Manager MCP Server - AI-native artifact management",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ucm-mcp-server",
3
- "version": "1.1.8",
3
+ "version": "2.0.0",
4
4
  "description": "Universal Context Manager MCP Server - AI-native artifact management",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",