Skip to main content
Glama
mcpware

claude-code-organizer

move_item

Move Claude Code configuration items like memories, skills, or MCP servers between different scopes to reorganize your workspace. Use scan_inventory first to identify available items and scope IDs.

Instructions

Move a Claude Code configuration item (memory, skill, MCP server) from one scope to another. Run scan_inventory first to see available items and scope IDs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory of item to move
nameYesName of the item (as shown in scan_inventory results)
fromScopeIdYesSource scope ID (e.g. "global" or the encoded project directory name)
toScopeIdYesDestination scope ID

Implementation Reference

  • The `doMove` function handles the API request to move an item to a different scope and includes undo logic.
    async function doMove(itemRef, toScopeId, skipRefresh = false) {
      const item = resolveItem(itemRef);
      if (!item) return { ok: false, error: "Item not found" };
    
      const fromScopeId = item.scopeId;
      const response = await fetch("/api/move", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
          itemPath: item.path,
          toScopeId,
          category: item.category,
          name: item.name,
        }),
      });
      const result = await response.json();
    
      if (skipRefresh) return result;
    
      if (result.ok) {
        const movedKey = `${item.category}::${item.name}::${result.to}`;
        if (selectedItem && itemKey(selectedItem) === itemKey(item)) {
          selectedItem = { ...item, path: result.to, scopeId: toScopeId };
          selectedScopeId = toScopeId;
          detailPreviewKey = null;
        }
    
        const undoFn = async () => {
          const undoResult = await fetch("/api/move", {
            method: "POST",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify({
              itemPath: result.to,
              toScopeId: fromScopeId,
              category: item.category,
              name: item.name,
            }),
          }).then((res) => res.json());
    
          if (undoResult.ok) {
            if (selectedItem && itemKey(selectedItem) === movedKey) {
              selectedItem = { ...item };
              selectedScopeId = fromScopeId;
              detailPreviewKey = null;
            }
            toast("Move undone");
            await refreshUI();
          } else {
            toast(undoResult.error, true);
          }
        };
    
        toast(result.message, false, undoFn);
        await refreshUI();
      } else {
        toast(result.error, true);
      }
    
      return result;
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. States 'Move' implying relocation, but does not confirm source deletion, disclose collision behavior (if item exists at destination), reversibility, or error states. Minimal disclosure for a mutation operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences. First establishes action and scope, second gives prerequisite. Every word earns keep; no repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for 4-parameter tool with complete schema coverage. References scan_inventory completing the workflow picture. Missing only advanced behavioral details (error handling, collisions) which would elevate it further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed field descriptions. Description adds workflow context linking all parameters to scan_inventory results ('see available items and scope IDs'), helping agents understand valid values come from prerequisite tool execution.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specificity with verb 'Move', resource 'Claude Code configuration item', and concrete examples (memory, skill, MCP server). Clearly distinguishes from sibling delete_item and relates to scan_inventory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states prerequisite workflow: 'Run scan_inventory first to see available items and scope IDs.' provides clear entry point. Lacks explicit 'when not to use' or alternative comparisons, but strong prerequisite guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/mcpware/claude-code-organizer'

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