Slate MCP Server

Slate MCP Server

Connects Technolutions Slate with Claude to query and analyze student enrollment demographics, diversity metrics, and enrollment funnel data through natural language.

Category
Visit Server

README

Slate MCP Server

An MCP (Model Context Protocol) server that connects Technolutions Slate with Claude, enabling you to query and analyze student enrollment demographics data through natural language.

Features

  • Enrollment Demographics: Get comprehensive demographic summaries for incoming classes
  • Diversity Metrics: Calculate diversity indices, URM percentages, and geographic diversity
  • Enrollment Funnel: Track conversion rates from prospect to enrolled
  • Year-over-Year Comparisons: Analyze trends across multiple enrollment years
  • Flexible Queries: Search and filter students by various criteria

Prerequisites

  • Node.js 18.0.0 or higher
  • Access to a Technolutions Slate instance with API credentials
  • Slate queries configured for enrollment data (see Slate Configuration)

Installation

# Clone the repository
git clone https://github.com/your-org/slate-mcp-server.git
cd slate-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Configuration

Environment Variables

Copy .env.example to .env and configure your Slate credentials:

cp .env.example .env

Required environment variables:

Variable Description
SLATE_BASE_URL Your Slate instance URL (e.g., https://yourschool.technolutions.net)
SLATE_USERNAME Slate API username
SLATE_PASSWORD Slate API password
SLATE_API_KEY (Optional) API key if your instance uses key-based auth

Claude Desktop Configuration

Add the server to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "slate": {
      "command": "node",
      "args": ["/path/to/slate-mcp-server/dist/index.js"],
      "env": {
        "SLATE_BASE_URL": "https://yourschool.technolutions.net",
        "SLATE_USERNAME": "your_username",
        "SLATE_PASSWORD": "your_password"
      }
    }
  }
}

Slate Configuration

This MCP server expects certain queries to be configured in your Slate instance. Work with your Slate administrator to create these queries:

Required Queries

  1. enrollment_demographics: Returns enrolled student data with demographics

    • Required fields: id, first_name, last_name, email, gender, ethnicity, race, citizenship, first_generation, state, country, intended_major, entry_year, entry_term, enrollment_status
  2. enrollment_funnel: Returns funnel counts

    • Required fields: prospects, inquiries, applicants, admitted, deposited, enrolled
  3. students_by_status: Returns students filtered by application status

    • Required fields: Same as enrollment_demographics

Query Parameters

The server will pass these parameters to your queries:

  • entry_year: The enrollment year (e.g., 2024)
  • entry_term: The enrollment term (e.g., "Fall")
  • application_status: For status-based queries

Available Tools

get_enrollment_demographics

Get a comprehensive demographics summary for enrolled students.

Parameters:

  • entry_year (required): The entry year (e.g., 2024)
  • entry_term (optional): The entry term (default: "Fall")

Example prompt: "Show me the demographics for Fall 2024 incoming class"

get_diversity_metrics

Get detailed diversity metrics including diversity index and URM percentages.

Parameters:

  • entry_year (required): The entry year
  • entry_term (optional): The entry term

Example prompt: "What are the diversity metrics for our 2024 freshman class?"

get_enrollment_funnel

Get enrollment funnel data with conversion rates.

Parameters:

  • entry_year (required): The entry year
  • entry_term (optional): The entry term

Example prompt: "Show me the enrollment funnel and yield rates for Fall 2024"

compare_enrollment_years

Compare demographics across multiple years.

Parameters:

  • years (required): Array of years to compare (e.g., [2022, 2023, 2024])
  • entry_term (optional): The entry term

Example prompt: "Compare enrollment demographics from 2022 to 2024"

get_demographics_report

Generate a formatted, readable demographics report.

Parameters:

  • entry_year (required): The entry year
  • entry_term (optional): The entry term

Example prompt: "Generate a demographics report for Fall 2024"

get_demographics_by_category

Get enrollment breakdown by a specific category.

Parameters:

  • entry_year (required): The entry year
  • category (required): One of: gender, ethnicity, state, country, admit_type, major, college, first_generation, international
  • entry_term (optional): The entry term

Example prompt: "Show me enrollment by state for Fall 2024"

search_students

Search for students matching specific criteria.

Parameters:

  • entry_year (optional): Filter by entry year
  • entry_term (optional): Filter by entry term
  • state (optional): Filter by home state
  • country (optional): Filter by home country
  • major (optional): Filter by intended major
  • first_generation (optional): Filter by first-gen status
  • international (optional): Filter by international status
  • limit (optional): Max results (default: 100)

Example prompt: "Find all first-generation students from California in Fall 2024"

Example Conversations

Getting Annual Demographics Report

User: What does our incoming Fall 2024 class look like demographically?

Claude: I'll pull the enrollment demographics for Fall 2024...
[Uses get_enrollment_demographics tool]

Here's a summary of your Fall 2024 incoming class:
- Total Enrolled: 2,450 students
- Gender: 54% Female, 45% Male, 1% Non-binary
- First Generation: 28% (686 students)
- International: 12% (294 students)
...

Year-over-Year Analysis

User: How has our diversity changed over the past 3 years?

Claude: I'll compare the demographics across 2022, 2023, and 2024...
[Uses compare_enrollment_years tool]

Here's the year-over-year comparison:
- First Generation: 24% → 26% → 28% (+4 points)
- International: 10% → 11% → 12% (+2 points)
- URM: 22% → 24% → 26% (+4 points)
...

Development

# Run in development mode
npm run dev

# Type check
npm run typecheck

# Lint
npm run lint

# Build
npm run build

Security Considerations

  • Never commit .env files containing credentials
  • Use read-only API credentials when possible
  • The server anonymizes personally identifiable information in search results
  • Consider implementing rate limiting for production use

License

MIT

Support

For issues with this MCP server, please open a GitHub issue.

For Slate-specific questions, contact Technolutions Support.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured