feat(scaffold): initialize project with TypeScript, vitest, MCP SDK

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-Claude)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-03-10 16:40:43 +00:00
commit b02dff9808
8 changed files with 2899 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
node_modules/
dist/
.env
*.js
!vitest.config.ts

View File

@@ -0,0 +1,7 @@
tsc --noEmit: EXIT 0
 RUN  v4.0.18 /coding/sage-mcp-server
No test files found, exiting with code 0
vitest run: EXIT 0

View File

@@ -0,0 +1,10 @@
sage-mcp-server@1.0.0 /coding/sage-mcp-server
+-- @modelcontextprotocol/sdk@1.27.1
+-- @types/node@25.4.0
+-- fast-xml-parser@5.5.1
+-- soap@1.8.0
+-- tsx@4.21.0
+-- typescript@5.9.3
+-- vitest@4.0.18
`-- zod@4.3.6

2818
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

30
package.json Normal file
View File

@@ -0,0 +1,30 @@
{
"name": "sage-mcp-server",
"version": "1.0.0",
"description": "MCP server for Sage X3 ERP integration",
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"dev": "tsx src/index.ts",
"test": "vitest run",
"test:watch": "vitest",
"typecheck": "tsc --noEmit"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.27.1",
"fast-xml-parser": "^5.5.1",
"soap": "^1.8.0",
"zod": "^4.3.6"
},
"devDependencies": {
"@types/node": "^25.4.0",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}

1
src/index.ts Normal file
View File

@@ -0,0 +1 @@
// Sage X3 MCP Server entry point

19
tsconfig.json Normal file
View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"outDir": "dist",
"rootDir": "src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}

9
vitest.config.ts Normal file
View File

@@ -0,0 +1,9 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
globals: true,
environment: 'node',
passWithNoTests: true,
},
});