PTENES
MODULE 2.6

🧪 First Test: Example MCP Server

Connect a reference server to Claude Desktop and verify that your entire environment is working.

6
Topics
25
Minutes
Basic
Level
Practical
Type
1

📋 Choosing a Test Server

To verify that the entire environment is working, we need a reliable, well-tested MCP Server. Anthropic and the community maintain several official servers that are perfect for this first test. Let's choose the best one for beginners and understand why it's the best option.

💎 Core Concept

There are several official MCP Servers maintained by the community and Anthropic. For a first test, these are the best choices: filesystem (controlled access to local files and directories), fetch (fetch content from URLs on the internet) and memory (store and retrieve persistent notes). The filesystem is the best place to start because it’s visual (you can see files being read and created), doesn’t depend on external APIs or access keys, and clearly demonstrates the concept of MCP tools in action.

📊 Official Reference Servers
📁 filesystem

Reads, writes, and lists files in permitted directories. Ideal for a first test.

🌐 fetch

Fetches content from URLs. Useful for giving Claude web access.

🧠 memory

Stores and retrieves notes between conversations. Demonstrates persistence.

All are available as npm packages in the scope @modelcontextprotocol and can be run via npx without prior installation.

2

📥 Installing the Server

The beauty of npm-based MCP Servers is that they can be run directly via npx, without requiring a prior global installation. However, if you prefer, you can also install them globally for more direct control. Let’s look at both approaches.

💎 Core Concept

The filesystem server can be used in two ways: via direct npx (recommended, you don't need to install anything) or via global installation with npm. When we use npx in Claude Desktop's config.json, npx automatically downloads and runs the package at the latest version. There's no need to clone repositories, compile code, or do any manual setup. Just make sure Node.js and npm are installed (which we already configured in previous modules).

💡 Practical Tip

If you want to install globally (optional), run this in the terminal:

npm install -g @modelcontextprotocol/server-filesystem

But the recommended approach is to use npx directly in config.json — that way, Claude Desktop always uses the latest version automatically, with no manual updates needed.

❌ Avoid
  • •Clone the server repository manually
  • •Try to compile the server from source code
  • •Use very old versions of Node.js (< 18)
  • •Install packages from untrusted sources
✅ Do
  • •Use npx with the -y flag for direct execution
  • •Check that node and npx are in the PATH
  • •Use packages in the official @modelcontextprotocol scope
  • •Test the command in the terminal before adding it to the config
3

⚙️ Configuring in Claude Desktop

Now let’s put it all together: add the filesystem server to the Claude Desktop configuration file. This is where theory becomes practice—you’ll edit config.json with the correct details and get Claude ready to connect to your first MCP Server.

💎 Core Concept

Open the file claude_desktop_config.json and add the following content:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/caminho/permitido"
      ]
    }
  }
}

Replace /caminho/permitido using the actual directory you want Claude to access. For example: /home/usuario/projetos on Linux, /Users/usuario/Documents on macOS, or C:/Users/usuario/Documents on Windows.

🚨 Alert

Set a restricted directory! The filesystem server will give Claude read and write access to all files inside the specified directory. Never use the system root (/ or C:\) as an allowed path. Create a dedicated folder for testing, such as ~/mcp-teste, and use it as an argument. This ensures Claude can only access files in that specific directory, following the principle of least privilege.

4

🔄 Restarting and Verifying

With config.json saved, it’s time to restart Claude Desktop and verify that the server loaded successfully. This is the moment of truth—when you open the app and see the filesystem tools appear, you’ll know the MCP is working.

💎 Core Concept

After saving config.json, you need to restart completely Claude Desktop. Close the app (don't just minimize it), make sure it's not running in the system tray, and open it again. When reopened, Claude Desktop will read config.json, find the "filesystem" entry, and try to start the server via npx. If everything goes well, the hammer icon (🔨) will appear next to the input field. Click it to see the available tools: read_file, write_file, list_directory, among others.

📋 Verification Steps
Step 1 — Close completely

Close Claude Desktop. On macOS: Cmd+Q. On Windows: right-click the tray icon and select "Quit". On Linux: close the window and check that the process has ended.

Step 2 — Reopen the application

Open Claude Desktop again. Wait 5-10 seconds for the filesystem server to start via npx (the first load may take longer because of the download).

Step 3 — Check the hammer icon

Look for the hammer icon (🔨) in the chat input bar. If it appears, click it to see the tools: read_file, write_file, list_directory, create_directory, move_file, etc.

Step 4 — Troubleshoot (if needed)

If the icon doesn’t appear: check the JSON (jsonlint.com), confirm that npx works in the terminal, and check the Claude Desktop logs for errors.

5

🧪 Testing in Practice

With the filesystem server connected, it’s time to put it to the test. We’ll send commands to Claude that exercise the filesystem tools and observe how the interaction between Claude, the MCP Client, and the Server works. Pay special attention to the permission flow—Claude always asks for your authorization before using a tool.

💎 Core Concept

When you send a prompt that requires access to files, Claude automatically identifies which tool to use and asks for your permission before executing it. This approval flow is a fundamental MCP security layer — the Human-in-the-Loop. Claude never executes a tool without your authorization. In the interface, you’ll see a card with the tool name, the parameters to be used, and buttons to “Allow” or “Deny.”

💡 Practical Tip

Try these three test prompts, one at a time:

  1. 1. "List the files in [your directory]" — Claude will use list_directory to show the directory contents.
  2. 2. "Read the contents of [an existing file]" — Claude will use read_file to display the file contents.
  3. 3. "Create a file named teste-mcp.txt with the content 'MCP is working!'" — Claude will use write_file to create the file.

In each case, look at the permission card and click "Allow" to see the tool in action.

❌ Avoid
  • •Allow access to sensitive system directories
  • •Approving actions without reading the tool parameters
  • •Asking to delete important files during the test
  • •Ignore Claude error messages
✅ Do
  • •Use a dedicated test folder
  • •Read the tool parameters before approving
  • •Check in the file explorer that the actions worked
  • •Observe the pattern: prompt → tool → permission → result
6

🎉 Complete Environment

If you’ve made it this far and the filesystem server is working in Claude Desktop, congratulations! Your MCP development environment is 100% configured. Let’s recap everything you’ve set up throughout this track and prepare for the next big step: creating your own MCP Server.

💎 Core Concept

Your complete MCP development environment includes:

  • Python + uv: Language and package manager for creating MCP Servers in Python.
  • Node.js + npm: Runtime and package manager for TypeScript/JavaScript servers and for using npx.
  • Claude Desktop: The MCP Host with a Claude model and an integrated MCP Client.
  • config.json: Configuration file that connects Claude Desktop to the servers.
  • Filesystem server: Get your first MCP Server working and validate the entire chain.

With all this in hand, you’re ready for Track 3: creating your own MCP Server from scratch.

💡 Practical Tip

Before moving on to Track 3, try explore the filesystem server further. Ask Claude to organize files, create folder structures, and search for content in text files. The more you use it, the more natural interacting with MCP tools will feel. You can also try adding a second server (such as the fetch) to config.json to practice configuring multiple servers at the same time.

📊 Data and Research

The MCP ecosystem is growing rapidly. Today, there are hundreds of MCP Servers available publicly, covering everything from databases (PostgreSQL, MongoDB) to cloud services (AWS, GCP), development tools (GitHub, GitLab), and productivity apps (Slack, Google Drive, Notion). In Track 3, you’ll learn to create your own servers and join this community of developers shaping the future of AI integrations.

📝 Module Summary

  • ✓ The filesystem server is the best choice for your first MCP test — visual, with no external dependencies, and easy to configure.
  • ✓ It can be installed directly via npx (recommended) or with npm install global.
  • ✓ Configuration in config.json requires command (npx), args (package + permitted directory), and a restricted directory.
  • ✓ After restarting Claude Desktop, the hammer icon confirms that the server is connected and the tools are available.
  • ✓ Claude always asks permission before using a tool — Human-in-the-Loop is a fundamental security layer.
  • ✓ With Python, Node.js, Claude Desktop, and a working server, your MCP development environment is complete.

Next Track: Track 3 — Creating Your First MCP Server