Skip to content

fix(mcp): use a more generic folder to put mcp filesystem root #1413

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions packages/mcp-client/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import * as readline from "node:readline/promises";
import { stdin, stdout } from "node:process";
import { join } from "node:path";
import { homedir } from "node:os";
import { existsSync, mkdirSync } from "node:fs";
import type { StdioServerParameters } from "@modelcontextprotocol/sdk/client/stdio.js";
import type { InferenceProvider } from "@huggingface/inference";
import { ANSI } from "./src/utils";
Expand All @@ -12,12 +13,13 @@ import { version as packageVersion } from "./package.json";
const MODEL_ID = process.env.MODEL_ID ?? "Qwen/Qwen2.5-72B-Instruct";
const PROVIDER = (process.env.PROVIDER as InferenceProvider) ?? "nebius";
const BASE_URL = process.env.BASE_URL;
const MCP_LOCAL_FOLDER = join(homedir(), ".mcp");

const SERVERS: StdioServerParameters[] = [
{
// Filesystem "official" mcp-server with access to your Desktop
command: "npx",
args: ["-y", "@modelcontextprotocol/server-filesystem", join(homedir(), "Desktop")],
args: ["-y", "@modelcontextprotocol/server-filesystem", MCP_LOCAL_FOLDER],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would rather still use Desktop on mac OS and just homedir() on Win32, can you switch to this?

You can use process.platform === "darwin" to figure out

Thanks!

},
{
// Playwright MCP
Expand All @@ -31,7 +33,7 @@ if (process.env.EXPERIMENTAL_HF_MCP_SERVER) {
// Early version of a HF-MCP server
// you can download it from gist.github.com/julien-c/0500ba922e1b38f2dc30447fb81f7dc6
command: "node",
args: ["--disable-warning=ExperimentalWarning", join(homedir(), "Desktop/hf-mcp/index.ts")],
args: ["--disable-warning=ExperimentalWarning", join(MCP_LOCAL_FOLDER, "/hf-mcp/index.ts")],
env: {
HF_TOKEN: process.env.HF_TOKEN ?? "",
},
Expand All @@ -49,6 +51,11 @@ async function main() {
process.exit(1);
}

if (!existsSync(MCP_LOCAL_FOLDER)) {
mkdirSync(MCP_LOCAL_FOLDER);
console.info("created folder", MCP_LOCAL_FOLDER);
}
Comment on lines +54 to +57
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note (unimportant given we'll not need that code) you're inside an async block so you can use the promise-based variants and just await them


const agent = new Agent(
BASE_URL
? {
Expand Down