Claude Desktop MCP and Agent Skills: Comprehensive (and Fun) Example
A deep dive into Claude Desktop's MCP and Agent Skills, exploring how to differentiate MCP and agent skills, transfer files to the Claude Sandbox, and architect systems that leverage advanced artifacts without token overhead.
I am a big fan of Claude Desktop (except for their quick access feature). Especially after the introduction of MCP, it is possible to break the boundaries of the chat box without the need to code agents and without worry about token consumption. During 2025, Claude Desktop received a lot of updates. Last week, I was overwhelmed by the decision fatigue of choosing between prompts, MCP, and Agent Skills. Therefore, I have decided to solidify understanding while building something fun for me and everyone.
During this experiment, I have learned:
- Agent skills in Claude Desktop work hand in hand with advanced artifacts, which is a container running somewhere in the cloud.
- Agent skills in Claude Desktop are mounted (
/mnt) once per chat thread; it can’t be refreshed once loaded. - It is possible to copy files to Claude sandbox through the file upload feature or via the file extension tool “Copy file to Claude”.
- Often, Claude needs nudging towards using “Copy file to Claude”.
- When comparing token consumption via Anthropic count tokens, I didn’t find a clear difference, although logically it should be much less. However, using “Copy file to Claude” is deterministic and faster.
- MCP can serve resources, but Claude Desktop will never preload them automatically. The user needs to do so.
- MCP can make tools that serve the same resources, which is ideal for agents deciding to load resources on the fly.
The idea came to me while doing some year reviews, watching Slack get drops of those Cursor Year in Code messages. I had an idea to do something similar with MergeStat, but came to discover the project is inactive. Then it occurred to me that I could use Claude to analyze code via Mergestat Lite and produce something similar to Cursor’s year in review. This is where I was staring blankly, thinking about whether to use MCP or agent skill. Where to start? Where to draw the line?
Of course, make it work, make it right, make it fast. I have started with a Claude project with a set of instructions. It worked, but it was painfully slow. The AI usage merge-stat through CLI MCP was not consistent.
To make it right, I have started refactoring some of the parts into a skill. I wanted the UI artifact to be always the same; to move it from working to right. I have realized that I don’t understand agent skills enough. Therefore, I have started a few conversations with Claude, the ones that start with “Help me understand your internals…”. The first gutcha moment that I had is when I realized that any scripts I add to the skill live on the Claude Sandbox. This is big. I think this is not highlighted enough by the community or the documentation. I think most use cases are focused on Claude Code, which might be working differently. I don’t know.
Now it is clear that scripts to populate data can live in the skill, which will be in the Claude Sandbox, which will create files and view them nicely as an artifact. Finally, I can see a final architecture in mind like in the diagram below:
To make it right (and to learn more), I have vibe coded Mergestat with my own MCP using Antigravity. A few commits later, I had an MCP server that warps Mergestat CLI, which should make the agent deterministic. However, the process of writing long MCP results in the chat feeling slow and wrong. Imagine printing the whole git history of a repo in the chat.
Now to make it fast, I have started to look for ways to transfer files from the local system to Claude Sandbox. Sadly, interrogating Claude with “Help me understand your internals…” was misleading. Claude claimed that there is no automatic way when, in fact, their File Extension as a tool called “Copy file to Claude”, which is the only one not written as snake_case.
Figure 1: Copy file to Claude tool in Claude Desktop
Finally, the project is complete, as per the architecture.
It is amazing how much Claude Desktop improved during 2025. With enough MCPs, it can be used for vibe coding and many agentic workloads. It is a great tool to save on tokens and prompt quotas. Agent skills is a good hack to ship code to advanced artifacts easily for creating better artifacts or even fully fledged applications with capabilities that push the usual boundaries of the tool.
Going into 2026, I think the two missing features for Claude Desktop are ambient agents and subagents. Hopefully, they redo the quick access feature, as the current one is still far behind to compete with ChatGPT’s quick access feature.