livingston-mcp-server
v1.0.6
Published
Livingston MCP server for AI model context with SmartMap documentation and personas
Maintainers
Readme
Livingston MCP Server
A Model Context Protocol (MCP) server that provides access to Livingston's SmartMap documentation, personas, and compliance consulting resources for AI models like Claude.
Features
- PDF Document Access: Automatically discovers and provides access to PDF documents in the resources directory
- Dynamic Tool Generation: Creates tools for each PDF document for easy retrieval
- Smart Prompts: Pre-configured prompts for persona mapping, positioning, and feature analysis
- TypeScript Support: Fully typed with comprehensive type definitions
- CLI Interface: Easy-to-use command line interface for starting the server
Installation
Global Installation
npm install -g livingston-mcp-serverLocal Installation
npm install livingston-mcp-serverFrom Source
git clone <repository-url>
cd livingston-mcp-server
npm install
npm run buildUsage
Command Line Interface
Start the server with default settings:
livingston-mcp-server startStart with custom configuration:
# Custom port
livingston-mcp-server start --port 3000
# Custom PDF directory
livingston-mcp-server start --pdf-directory "/path/to/pdfs"
# Custom server name
livingston-mcp-server start --name "My Custom MCP Server"
# All options together
livingston-mcp-server start --port 3000 --pdf-directory "./docs" --name "Custom Server"Programmatic Usage
import { LivingstonMCPServer } from 'livingston-mcp-server';
const server = new LivingstonMCPServer({
server: {
port: 8080,
httpStream: { port: 8080 }
},
pdf: {
directory: './resources/livingston pdfs'
},
mcp: {
name: 'My Livingston MCP Server',
version: '1.0.0'
}
});
await server.start();Environment Variables
You can configure the server using environment variables:
PORT- Server port (default: 8080)PDF_DIRECTORY- Directory containing PDF files (default: "./resources/livingston pdfs")MCP_NAME- Server name (default: "Livingston MCP Server")
Available Tools
The server automatically generates tools for each PDF file found in the PDF directory:
get_livingston_[filename]- Retrieves content from specific PDF documents- Tools are named based on the PDF filename with special characters converted to underscores
Available Prompts
- Persona-to-Feature Mapping - Cross-reference SmartMap features with key personas
- Outcome-Based Positioning Framework - Jobs-to-be-done framework for positioning
- Feature Recommendations - Roadmap shaping and MVP+ ideation
- Single Feature Deep Dive - Bridge internal language to user-facing copy
PDF Requirements
- Place PDF files in the configured directory (default:
./resources/livingston pdfs/) - Supported file extension:
.pdf - The server will attempt to extract text using
pdftotextif available - Files are automatically discovered and made available as both resources and tools
API Endpoints
When running as an HTTP server, the following endpoints are available:
- Tools: Access to dynamically generated PDF retrieval tools
- Resources: Direct access to PDF documents as MCP resources
- Prompts: Pre-configured prompts for Livingston-specific use cases
Development
Setup
git clone <repository-url>
cd livingston-mcp-server
npm installDevelopment Commands
# Start in development mode with hot reload
npm run dev:watch
# Build the project
npm run build
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Type checking
npm run type-check
# Linting
npm run lint
npm run lint:fix
# Test CLI during development
npm run cli start --port 3001Project Structure
livingston-mcp-server/
├── bin/
│ └── cli.js # Compiled CLI entry point
├── src/
│ ├── bin/
│ │ └── cli.ts # CLI source code
│ ├── config/
│ │ └── default.ts # Default configuration
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ ├── server.ts # Main server class
│ └── mcpserver.ts # Legacy server file
├── dist/ # Compiled JavaScript
├── resources/ # PDF documents directory
├── test/ # Test files
├── package.json
├── tsconfig.json
└── README.mdPublishing
To publish as an npm package:
- Update version in
package.json - Build and test:
npm run build npm test - Publish:
npm publish
License
MIT
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Run tests and linting
- Submit a pull request
Support
For issues and questions, please create an issue in the GitHub repository.
