file-share-mcp 1.0.1

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.
@@ -0,0 +1,10 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ const packageJson = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf-8'));
7
+ const version = packageJson.version;
8
+ const versionFileContent = `export const VERSION = '${version}';\n`;
9
+ fs.writeFileSync(path.resolve(__dirname, '../version.ts'), versionFileContent);
10
+ console.log(`Version ${version} generated in src/version.ts`);
@@ -0,0 +1,45 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ const logDir = path.join(os.homedir(), '.file-share-mcp', 'logs');
5
+ if (!fs.existsSync(logDir)) {
6
+ try {
7
+ fs.mkdirSync(logDir, { recursive: true });
8
+ }
9
+ catch (err) {
10
+ console.error(`Failed to create log directory ${logDir}:`, err);
11
+ }
12
+ }
13
+ const logFile = path.join(logDir, 'server.log');
14
+ export function setupLogging(prefix) {
15
+ const originalLog = console.log;
16
+ const originalError = console.error;
17
+ const logToBoth = (msg, isError) => {
18
+ const timestamp = new Date().toLocaleString();
19
+ const formattedMsg = `[${timestamp}] [PID ${process.pid}] [${prefix}] ${msg}\n`;
20
+ try {
21
+ fs.appendFileSync(logFile, formattedMsg);
22
+ }
23
+ catch (err) {
24
+ // If we can't write to file, at least we tried
25
+ }
26
+ if (prefix === 'MASTER') {
27
+ // In MASTER, always use stderr for protocol safety
28
+ process.stderr.write(formattedMsg);
29
+ }
30
+ else if (isError) {
31
+ originalError(msg);
32
+ }
33
+ else {
34
+ originalLog(msg);
35
+ }
36
+ };
37
+ console.log = (msg, ...args) => {
38
+ const message = typeof msg === 'string' ? msg : JSON.stringify(msg, null, 2);
39
+ logToBoth(message, false);
40
+ };
41
+ console.error = (msg, ...args) => {
42
+ const message = typeof msg === 'string' ? msg : JSON.stringify(msg, null, 2);
43
+ logToBoth(message, true);
44
+ };
45
+ }
@@ -0,0 +1 @@
1
+ export const VERSION = '1.0.1';
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "file-share-mcp",
3
+ "version": "1.0.1",
4
+ "description": "MCP server for bidirectional file sharing between AI agents and users, with a built-in web GUI",
5
+ "author": "",
6
+ "license": "ISC",
7
+ "keywords": [
8
+ "mcp",
9
+ "model-context-protocol",
10
+ "file-sharing",
11
+ "claude",
12
+ "cursor",
13
+ "ai"
14
+ ],
15
+ "engines": {
16
+ "node": ">=18.0.0"
17
+ },
18
+ "main": "dist/mcp-server.js",
19
+ "bin": {
20
+ "file-share-mcp": "dist/mcp-server.js"
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "public",
25
+ "README.md"
26
+ ],
27
+ "type": "module",
28
+ "scripts": {
29
+ "generate-version": "node --loader ts-node/esm src/utils/generate-version.ts",
30
+ "build:backend": "npm run generate-version && tsc",
31
+ "build:frontend": "cd gui && npm run build",
32
+ "build": "npm run build:backend && npm run build:frontend",
33
+ "start": "node dist/mcp-server.js",
34
+ "dev": "npm run build:backend && nodemon --exec \"node --loader ts-node/esm\" src/mcp-server.ts",
35
+ "prepublishOnly": "npm run build",
36
+ "release": "npm version patch && npm publish --access public && git push origin master --follow-tags",
37
+ "test": "echo \"Error: no test specified\" && exit 1"
38
+ },
39
+ "dependencies": {
40
+ "@modelcontextprotocol/sdk": "^1.26.0",
41
+ "axios": "^1.13.5",
42
+ "cors": "^2.8.6",
43
+ "dotenv": "^17.3.1",
44
+ "express": "^5.2.1",
45
+ "multer": "^2.0.2",
46
+ "zod": "^4.3.6"
47
+ },
48
+ "devDependencies": {
49
+ "@types/cors": "^2.8.19",
50
+ "@types/express": "^5.0.6",
51
+ "@types/multer": "^2.0.0",
52
+ "@types/node": "^25.2.3",
53
+ "nodemon": "^3.1.11",
54
+ "ts-node": "^10.9.2",
55
+ "typescript": "^5.9.3"
56
+ }
57
+ }