Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
package.jsonโ€ข7.35 kB
{ "name": "@dollhousemcp/mcp-server", "version": "1.9.17", "description": "DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.", "type": "module", "main": "dist/index.js", "bin": { "dollhousemcp": "dist/index.js", "mcp-server": "dist/index.js" }, "scripts": { "prebuild": "node scripts/generate-version.js", "build": "tsc", "start": "node dist/index.js", "dev": "tsx watch src/index.ts", "inspector": "npx @modelcontextprotocol/inspector node dist/index.js", "inspector:dev": "npx @modelcontextprotocol/inspector tsx src/index.ts", "clean": "rm -rf dist", "rebuild": "npm run clean && npm run build", "setup": "npm install && npm run build", "build:readme": "node scripts/build-readme.js", "build:readme:npm": "node scripts/build-readme.js --target=npm", "build:readme:github": "node scripts/build-readme.js --target=github", "prepublishOnly": "npm run build:readme:npm && cp README.md README.md.backup 2>/dev/null || true && cp README.npm.md README.md && BUILD_TYPE=npm npm run build", "postpublish": "if [ -f README.md.backup ]; then mv README.md.backup README.md; else echo 'No backup found, README.md unchanged'; fi", "test": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs", "test:watch": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs --watch", "test:coverage": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs --coverage", "test:ci": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.config.cjs --ci --coverage --watchAll=false", "build:test": "tsc -p test/tsconfig.test.json", "test:compiled": "npm run build:test && cross-env NODE_OPTIONS='--experimental-vm-modules' jest --config test/jest.config.compiled.cjs", "test:compiled:ci": "npm run build:test && cross-env NODE_OPTIONS='--experimental-vm-modules' jest --config test/jest.config.compiled.cjs --ci --watchAll=false", "test:integration": "jest --config test/jest.integration.config.cjs", "test:integration:watch": "jest --config test/jest.integration.config.cjs --watch", "test:integration:coverage": "jest --config test/jest.integration.config.cjs --coverage", "test:performance": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.performance.config.cjs", "test:all": "npm test && npm run test:performance && npm run test:integration", "test:all:coverage": "npm run test:coverage && npm run test:integration:coverage", "security:critical": "jest test/__tests__/security/tests --testNamePattern=\"(Command Injection|Path Traversal|YAML)\" --maxWorkers=4", "security:rapid": "npm run security:critical -- --testTimeout=30000", "security:all": "jest test/__tests__/security --coverage", "security:regression": "jest test/__tests__/security/regression --maxWorkers=4", "security:report": "node scripts/security-test-runner.js all --report", "security:generate": "node scripts/generate-security-tests.js", "security:audit": "tsx scripts/run-security-audit.ts", "security:audit:json": "tsx scripts/run-security-audit.ts --json", "security:audit:verbose": "tsx scripts/run-security-audit.ts --verbose", "pre-commit": "npm run security:rapid && npm audit --audit-level=high", "test:e2e": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.e2e.config.cjs", "test:e2e:watch": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.e2e.config.cjs --watch", "test:e2e:verbose": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest --config test/jest.e2e.config.cjs --verbose", "test:roundtrip": "npm run test:e2e", "test:roundtrip:manual": "./scripts/test-roundtrip-workflow.sh", "test:roundtrip:cleanup": "./scripts/test-roundtrip-workflow.sh cleanup", "qa:direct": "node scripts/qa-direct-test.js", "test:e2e:real": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest test/e2e/real-github-integration.test.ts --verbose", "test:e2e:real:mcp": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --no-warnings\" jest test/e2e/mcp-tool-flow.test.ts --verbose", "test:e2e:real:all": "npm run test:e2e:real && npm run test:e2e:real:mcp", "test:e2e:cleanup": "tsx test/e2e/cleanup-test-data.ts", "qa:inspector": "node scripts/qa-inspector-cli-test.js", "qa:all": "npm run qa:direct && npm run qa:inspector", "qa:simple": "node scripts/qa-simple-test.js", "update:version": "node scripts/update-version.mjs", "version:bump": "node scripts/update-version.mjs", "version:check": "node scripts/update-version.mjs --dry-run", "tools:count": "node scripts/count-tools.js", "tools:list": "node scripts/count-tools.js --json" }, "keywords": [ "mcp", "model-context-protocol", "ai", "persona", "prompt", "claude", "ai-assistant", "roleplay", "character", "behavioral-profiles", "dynamic-prompting", "typescript", "dollhouse", "marketplace" ], "author": { "name": "Mick Darling", "email": "mick@mickdarling.com", "url": "https://github.com/mickdarling" }, "contributors": [ { "name": "Jeet Singh", "url": "https://github.com/jeetsingh008" } ], "license": "AGPL-3.0", "repository": { "type": "git", "url": "git+https://github.com/DollhouseMCP/mcp-server.git" }, "bugs": { "url": "https://github.com/DollhouseMCP/mcp-server/issues" }, "homepage": "https://dollhousemcp.com", "files": [ "dist/**/*.js", "dist/**/*.d.ts", "dist/**/*.d.ts.map", "data/personas/**/*.md", "data/skills/**/*.md", "data/templates/**/*.md", "data/agents/**/*.md", "data/memories/**/*.md", "data/ensembles/**/*.md", "!dist/__tests__/**", "!dist/**/*.test.*", "oauth-helper.mjs", "README.md", "LICENSE", "CHANGELOG.md" ], "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "funding": { "type": "github", "url": "https://github.com/sponsors/mickdarling" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.19.1", "@types/dompurify": "^3.0.5", "@types/uuid": "^10.0.0", "chalk": "^5.6.2", "dompurify": "^3.2.6", "express": "^5.1.0", "gray-matter": "^4.0.3", "js-yaml": "^4.1.0", "jsdom": "^27.0.0", "node-fetch": "^3.3.2", "uuid": "^11.1.0", "zod": "^4.1.8" }, "devDependencies": { "@jest/globals": "^30.2.0", "@modelcontextprotocol/inspector": "^0.16.7", "@types/jest": "^30.0.0", "@types/js-yaml": "^4.0.9", "@types/jsdom": "^27.0.0", "@types/node": "^24.7.0", "cross-env": "^7.0.3", "dotenv": "^17.2.3", "jest": "^30.2.0", "ts-jest": "^29.4.4", "ts-jest-resolver": "^2.0.1", "tsx": "^4.20.6", "typescript": "^5.9.3" }, "engines": { "node": ">=20.0.0", "npm": ">=10.0.0" } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server