Skip to main content
Glama
sudhish

Indian Movies MCP Agent

by sudhish

Indian Movies MCP Agent šŸŽ¬

A Model Context Protocol (MCP) agent that provides Indian movie recommendations directly within Claude Desktop. Get personalized Bollywood, Tollywood, and regional cinema suggestions with intelligent filtering by genre, language, rating, and release year.

šŸŽÆ What This Does

This MCP agent adds three powerful tools to your Claude Desktop:

  • Smart Recommendations: Filter movies by genre, language, rating, or year

  • Movie Search: Find detailed information about specific films

  • Random Discovery: Get surprise recommendations from curated Indian cinema

Related MCP server: Filmladder MCP Server

šŸ“‹ Prerequisites

Before you begin, ensure you have:

  • macOS (this guide is Mac-specific)

  • Node.js version 18 or higher (Download here)

  • Claude Desktop app (Download here)

  • Terminal access

  • Text editor (VS Code, TextEdit, etc.)

Check Your Node.js Version

node --version

If you see v18.0.0 or higher, you're good to go!

šŸš€ Quick Start (5 Minutes)

Step 1: Clone and Setup

# Clone the repository
git clone https://github.com/yourusername/indian-movies-mcp.git
cd indian-movies-mcp

# Install dependencies
npm install

# Test the server (optional)
npm start

If testing, you should see: Indian Movies MCP server running on stdio Press Ctrl+C to stop the test.

Step 2: Get Your Project Path

# Get the full path to your project
pwd

Copy this path! You'll need it in the next step. Example output: /Users/john/Documents/indian-movies-mcp

Step 3: Configure Claude Desktop

# Navigate to Claude's config directory
cd ~/Library/Application\ Support/Claude/

# Create the config file
cat > claude_desktop_config.json << 'EOF'
{
  "mcpServers": {
    "indian-movies": {
      "command": "node",
      "args": ["REPLACE_WITH_YOUR_PATH/index.js"]
    }
  }
}
EOF

Important: Replace REPLACE_WITH_YOUR_PATH with the path you copied from Step 2.

Option B: Create Config File Manually

  1. Open Finder

  2. Press Cmd + Shift + G

  3. Go to: ~/Library/Application Support/Claude/

  4. Create a new file named: claude_desktop_config.json

  5. Copy and paste this content, replacing the path:

{
  "mcpServers": {
    "indian-movies": {
      "command": "node",
      "args": ["/Users/YOUR_USERNAME/path/to/indian-movies-mcp/index.js"]
    }
  }
}

Step 4: Connect to Claude Desktop

  1. Completely quit Claude Desktop (don't just close the window)

  2. Restart Claude Desktop

  3. Wait 10-15 seconds for the connection to establish

Step 5: Test It!

In Claude Desktop, try asking:

  • "Recommend some Hindi comedy movies"

  • "Find action movies with rating above 8"

  • "Search for the movie Dangal"

  • "Give me a random Indian movie recommendation"

šŸ“– Detailed Installation Guide

For Complete Beginners

What is Node.js?

Node.js lets you run JavaScript on your computer (outside of a web browser). We need it to run our movie recommendation server.

Installing Node.js

  1. Go to nodejs.org

  2. Download the LTS version (Long Term Support)

  3. Run the installer

  4. Restart your Terminal after installation

What is npm?

npm (Node Package Manager) comes with Node.js and helps install code libraries. Think of it like an app store for code.

Understanding the File Structure

indian-movies-mcp/
ā”œā”€ā”€ package.json          # Project configuration and dependencies
ā”œā”€ā”€ index.js              # Main MCP server code
ā”œā”€ā”€ README.md             # This file
└── node_modules/         # Installed dependencies (created by npm install)

šŸ› ļø Manual Setup (Alternative Method)

If you prefer to set up everything from scratch:

1. Create Project Directory

mkdir indian-movies-mcp
cd indian-movies-mcp

2. Create package.json

cat > package.json << 'EOF'
{
  "name": "indian-movies-mcp",
  "version": "1.0.0",
  "description": "MCP server for Indian movie recommendations",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^0.4.0"
  }
}
EOF

3. Install Dependencies

npm install

4. Create the Server File

Copy the index.js content from this repository into a new file in your project directory.

5. Continue with Step 2 from Quick Start

šŸŽ­ Available Movie Tools

1. Get Movie Recommendations

Usage: "Recommend movies with specific criteria"

Parameters:

  • genre: Comedy, Drama, Action, Thriller, etc.

  • language: Hindi, Telugu, Tamil, etc.

  • min_rating: Minimum rating (0-10)

  • year_after: Movies released after this year

Examples:

  • "Show me Hindi comedies"

  • "Find action movies with rating above 8"

  • "Recommend movies from 2015 onwards"

2. Search Movie

Usage: "Search for a specific movie"

Parameters:

  • title: Movie title to search for

Examples:

  • "Tell me about 3 Idiots"

  • "Search for Baahubali"

3. Random Movie

Usage: "Get a surprise recommendation"

Examples:

  • "Suggest a random Indian movie"

  • "Give me a random recommendation"

šŸŽ¬ Current Movie Database

The agent includes these popular Indian films:

Hindi Cinema:

  • 3 Idiots (2009) - Comedy/Drama

  • Dangal (2016) - Biography/Drama/Sport

  • Taare Zameen Par (2007) - Drama/Family

  • Zindagi Na Milegi Dobara (2011) - Adventure/Comedy

  • And more...

Regional Cinema:

  • Baahubali 2 (2017) - Telugu Action/Drama

  • Various Tamil and other regional films

šŸ“Š Enhanced Logging for MCP Protocol Learning

This version includes comprehensive logging to help you understand the Model Context Protocol (MCP) communication between Claude and the MCP agent. Perfect for learning how MCP works under the hood!

šŸ” What Gets Logged

The enhanced logging system captures:

  • Protocol Messages: All requests and responses between Claude and the MCP server

  • Tool Calls: Detailed information about which tools are called and with what parameters

  • Data Filtering: Step-by-step filtering process for movie recommendations

  • Error Handling: Comprehensive error logging with stack traces

  • Server Lifecycle: Connection, disconnection, and heartbeat messages

šŸ“ Log File Location

Logs are written to: mcp-server.log in your project directory

šŸš€ Viewing Logs in Real-Time

Option 1: Terminal Logs (Live Output)

Start the server and watch logs in your terminal:

cd /path/to/your/indian-movies-mcp
npm start

You'll see live logs like:

[MCP INFO] === MCP Server Starting ===
[MCP INFO] Movie database loaded
[MCP INFO] Server instance created
[MCP INFO] === MCP SERVER CONNECTED AND READY ===

In a separate terminal window, watch the detailed log file:

# Navigate to your project directory
cd /path/to/your/indian-movies-mcp

# Follow the log file in real-time
tail -f mcp-server.log

Option 3: View Complete Log History

# View all logs from the beginning
cat mcp-server.log

# View recent logs with line numbers
tail -100 mcp-server.log | nl

# Search for specific events
grep "TOOL CALL" mcp-server.log
grep "ERROR" mcp-server.log

šŸŽÆ Understanding MCP Protocol Flow

When you interact with Claude, watch the logs to see this flow:

  1. Initialization: Claude connects to your MCP server

  2. Tool Discovery: Claude asks "what tools do you have?"

  3. Tool Execution: Claude calls specific tools with parameters

  4. Data Processing: Your server processes and returns results

Example Log Sequence

When you ask Claude "Recommend Hindi comedies", you'll see:

[2024-07-20T10:30:15.123Z] [INFO] === RECEIVED LIST TOOLS REQUEST ===
[2024-07-20T10:30:15.124Z] [INFO] Sending tools response: {
  "tools": [...]
}

[2024-07-20T10:30:15.200Z] [INFO] === RECEIVED TOOL CALL REQUEST ===
[2024-07-20T10:30:15.201Z] [INFO] Tool name: get_movie_recommendations
[2024-07-20T10:30:15.202Z] [INFO] Tool arguments: {
  "genre": "Comedy",
  "language": "Hindi"
}

[2024-07-20T10:30:15.203Z] [INFO] Processing movie recommendations request
[2024-07-20T10:30:15.204Z] [INFO] Starting with movies: {"count": 10}
[2024-07-20T10:30:15.205Z] [INFO] Filtering by genre: Comedy
[2024-07-20T10:30:15.206Z] [INFO] After genre filter: {"count": 4}
[2024-07-20T10:30:15.207Z] [INFO] Filtering by language: Hindi
[2024-07-20T10:30:15.208Z] [INFO] After language filter: {"count": 3}

šŸ”¬ Learning MCP Protocol Concepts

Use the logs to understand these MCP concepts:

1. Tool Discovery

Watch for LIST TOOLS REQUEST to see how Claude discovers available tools:

grep -A 10 "LIST TOOLS REQUEST" mcp-server.log

2. Tool Schemas

See how input validation works by examining tool call parameters:

grep -A 5 "Tool arguments" mcp-server.log

3. Error Handling

Understand MCP error handling by triggering errors:

# In Claude, try: "Search for a movie that doesn't exist"
grep "ERROR" mcp-server.log

4. Data Flow

Track data transformation through the logging:

grep -E "(Starting with|After.*filter)" mcp-server.log

šŸ› ļø Debugging with Logs

Finding Connection Issues

# Check if server started properly
grep "SERVER CONNECTED" mcp-server.log

# Look for connection errors
grep -i "error\|failed" mcp-server.log

Analyzing Tool Performance

# See which tools are called most
grep "Tool called:" mcp-server.log | sort | uniq -c

# Check tool execution times (manual timing from timestamps)
grep -E "Tool called:|Sending.*response" mcp-server.log

Understanding Request Flow

# See the complete request-response cycle
grep -E "RECEIVED.*REQUEST|Sending.*response" mcp-server.log

šŸ“š Log Levels Explained

  • INFO: Normal operations (tool calls, data processing)

  • WARN: Potential issues that don't break functionality

  • ERROR: Actual errors that need attention

  • DEBUG: Verbose information for detailed analysis

šŸŽ“ Learning Exercises

Try these exercises to understand MCP better:

Exercise 1: Basic Protocol Flow

  1. Start the server and watch logs

  2. Ask Claude: "What movie tools do you have?"

  3. Observe the tool discovery protocol in the logs

Exercise 2: Parameter Validation

  1. Ask Claude: "Recommend movies" (no parameters)

  2. Ask Claude: "Recommend Hindi comedies" (with parameters)

  3. Compare how parameters are handled in the logs

Exercise 3: Error Handling

  1. Temporarily break the code (add a syntax error)

  2. Watch how errors propagate through the MCP protocol

  3. Fix the code and observe recovery

Exercise 4: Data Filtering

  1. Ask for complex filters: "Hindi action movies from 2015 with rating above 8"

  2. Watch the step-by-step filtering process in the logs

  3. Understand how data flows through the system

šŸ“ Log File Management

The log file can grow large over time. Manage it with:

# Check log file size
ls -lh mcp-server.log

# Archive old logs
mv mcp-server.log mcp-server-$(date +%Y%m%d).log

# Clear current logs (server will create new file)
> mcp-server.log

# Rotate logs automatically (optional)
# Add to your crontab for daily rotation:
# 0 0 * * * cd /path/to/indian-movies-mcp && mv mcp-server.log logs/mcp-server-$(date +\%Y\%m\%d).log 2>/dev/null

šŸŽÆ Pro Tips for MCP Learning

  1. Use Two Terminals: One for server logs, one for file logs

  2. Timestamps: Correlate Claude requests with log timestamps

  3. JSON Formatting: Use jq to format JSON in logs: cat mcp-server.log | grep "Tool arguments" | jq

  4. Pattern Matching: Learn to spot patterns in MCP communication

  5. Error Simulation: Intentionally trigger errors to understand error handling

šŸ”§ Troubleshooting

MCP Server Not Connecting

Problem: Claude Desktop doesn't recognize the MCP server

Solutions:

  1. Check the config file path:

    ls ~/Library/Application\ Support/Claude/claude_desktop_config.json
  2. Verify the server path is absolute:

    # Your path should start with / like this:
    /Users/john/Documents/indian-movies-mcp/index.js
  3. Test your server manually:

    cd /path/to/your/indian-movies-mcp
    npm start
  4. Completely restart Claude Desktop:

    • Quit Claude Desktop (Cmd+Q)

    • Wait 5 seconds

    • Restart Claude Desktop

Node.js or npm Issues

Problem: command not found: node or command not found: npm

Solution:

  1. Install Node.js from nodejs.org

  2. Restart your Terminal

  3. Verify installation: node --version

Permission Issues

Problem: Permission denied errors

Solution:

# Make the script executable
chmod +x index.js

# If you have permission issues with the config directory
sudo chown -R $(whoami) ~/Library/Application\ Support/Claude/

Config File Issues

Problem: JSON syntax errors

Solution:

  1. Validate your JSON at jsonlint.com

  2. Common issues:

    • Missing commas

    • Incorrect quotes (use " not ')

    • Missing closing brackets

Logging Issues

Problem: No logs appearing in mcp-server.log

Solution:

  1. Check if the server is running:

    ps aux | grep "node.*index.js"
  2. Verify logging.js is properly imported:

    grep "from './logging.js'" index.js
  3. Check file permissions:

    ls -la mcp-server.log
    # If file doesn't exist, it will be created automatically
  4. Test logging manually:

    node -e "import('./logging.js').then(({log}) => log('Test message'))"

Problem: Logs are too verbose or cluttering terminal

Solution:

  1. Use only file logging by redirecting stderr:

    npm start 2>/dev/null
  2. Filter logs by level:

    grep "\[ERROR\]" mcp-server.log
    grep "\[WARN\]" mcp-server.log
    grep "\[INFO\]" mcp-server.log
  3. Reduce log verbosity by commenting out detailed logs in index.js

Problem: Log file growing too large

Solution:

  1. Set up log rotation:

    # Create logs directory
    mkdir -p logs
    
    # Rotate current log
    mv mcp-server.log logs/mcp-server-backup-$(date +%Y%m%d-%H%M%S).log
  2. Implement size-based rotation:

    # Check file size and rotate if > 10MB
    if [ $(wc -c < mcp-server.log) -gt 10485760 ]; then
      mv mcp-server.log logs/mcp-server-$(date +%Y%m%d-%H%M%S).log
    fi

Problem: Cannot correlate Claude actions with logs

Solution:

  1. Use precise timestamps:

    # Note the time when you make a request in Claude
    date
    # Then check logs around that time
    grep "2024-07-20T10:30" mcp-server.log
  2. Add request markers in Claude:

    • Ask Claude: "Search for test-marker-movie"

    • Look for this unique term in logs to identify your session

  3. Use unique test queries:

    # Instead of "recommend movies", use:
    # "recommend movies with unique-identifier-12345"
    # Then search logs for "unique-identifier-12345"

šŸ”„ Updating the Movie Database

Want to add more movies? Edit the indianMovies array in index.js:

const indianMovies = [
  // Add your movie like this:
  {
    title: "Your Movie Title",
    year: 2023,
    genre: ["Comedy", "Drama"],
    language: "Hindi",
    rating: 8.0,
    director: "Director Name",
    description: "Brief description of the movie."
  },
  // ... existing movies
];

After adding movies:

  1. Save the file

  2. Restart Claude Desktop

  3. Test with new movie searches

šŸ¤ Contributing

Want to improve this MCP agent?

  1. Fork this repository

  2. Create a feature branch: git checkout -b feature-name

  3. Add more movies, improve filtering, or add new tools

  4. Commit your changes: git commit -m "Add feature"

  5. Push to your branch: git push origin feature-name

  6. Create a Pull Request

Ideas for Contributions

  • Add more regional Indian films

  • Include movie posters or trailers

  • Add director/actor filtering

  • Include streaming platform availability

  • Add movie reviews or ratings from multiple sources

šŸ“ License

MIT License - feel free to use and modify!

šŸ†˜ Getting Help

If you run into issues:

  1. Check the troubleshooting section above

  2. Create an issue on this GitHub repository

  3. Include:

    • Your macOS version

    • Node.js version (node --version)

    • Error messages

    • Your config file (remove personal paths)

šŸŽ‰ What's Next?

Once you have this working, you can:

  • Build other MCP agents for different domains

  • Expand this agent with more Indian cinema data

  • Create agents for other movie industries

  • Add real-time data from movie APIs

Happy movie watching! šŸæ

Available Tools

3 tools
get_movie_recommendationsB

Get Indian movie recommendations based on genre, language, or rating preferences

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoPreferred genre (e.g., Comedy, Drama, Action, etc.)
languageNoPreferred language (e.g., Hindi, Telugu, Tamil, etc.)
min_ratingNoMinimum rating (0-10)
year_afterNoMovies released after this year

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool's purpose but doesn't describe how it works—whether it returns a fixed number of results, uses collaborative filtering, requires authentication, has rate limits, or what the output format looks like. The description is functional but lacks operational details needed for an agent to understand the tool's behavior beyond basic input parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, 100% schema coverage, and no output schema, the description is adequate but incomplete. It covers the basic purpose and filtering scope but lacks details on output (e.g., what data is returned, format, pagination) and behavioral context (e.g., how recommendations are generated, limitations). Given the absence of annotations and output schema, the description should provide more operational context to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions filtering by 'genre, language, or rating preferences,' which aligns with three of the four parameters in the schema (genre, language, min_rating). It doesn't mention 'year_after,' but since schema description coverage is 100% (all parameters are well-documented in the schema), the baseline score of 3 is appropriate. The description adds minimal value beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('Indian movie recommendations') with specific filtering criteria ('based on genre, language, or rating preferences'). It distinguishes from 'get_random_movie' by specifying filtered recommendations rather than random selection, though it doesn't explicitly differentiate from 'search_movie' which might offer broader search capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings ('get_random_movie' or 'search_movie'). It mentions filtering criteria but doesn't specify whether this is for personalized recommendations, curated lists, or how it differs from the search functionality. No exclusions or alternative scenarios are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_random_movieB

Get a random Indian movie recommendation

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns a random Indian movie recommendation but doesn't explain how randomness is implemented, if there are any biases, rate limits, or what the output format looks like. This leaves significant gaps in understanding the tool's behavior beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded with the core functionality, making it easy to parse and understand immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is minimal but adequate for the basic purpose. However, it lacks details on behavioral aspects like output format, randomness mechanism, or differentiation from siblings, which could help an agent use it more effectively. For a recommendation tool, more context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so there are no parameters to document. The description appropriately doesn't discuss parameters, which is correct for this case. A baseline of 4 is applied since no parameter information is needed or provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('random Indian movie recommendation'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_movie_recommendations' or 'search_movie', which might also provide movie recommendations but with different selection criteria or search capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_movie_recommendations' or 'search_movie'. It doesn't specify if this is for quick suggestions, unbiased picks, or when detailed filtering isn't needed, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_movieC

Search for a specific Indian movie by title

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesMovie title to search for

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the search action but doesn't describe traits like whether it's read-only, if it requires authentication, rate limits, or what the output format might be. This leaves significant gaps for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, output format, and usage context, which are essential for a search tool. The high schema coverage doesn't compensate for these missing elements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the input schema already documents the 'title' parameter adequately. The description adds no additional meaning beyond what the schema provides, such as search behavior or result details, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for') and resource ('a specific Indian movie by title'), making the purpose unambiguous. It doesn't explicitly differentiate from sibling tools like 'get_movie_recommendations' or 'get_random_movie', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'get_movie_recommendations' or 'get_random_movie'. The description implies usage for searching by title but lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observedget_movie_recommendations
    • First observedget_random_movie
    • First observedsearch_movie

TDQS

B3.1/5.0
Disambiguation4/5

The tools are mostly distinct with clear purposes: get_movie_recommendations for filtered recommendations, get_random_movie for random selection, and search_movie for specific title lookup. However, get_movie_recommendations and get_random_movie could be slightly confused as both provide recommendations, though one is filtered and the other random.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (get_movie_recommendations, get_random_movie, search_movie). The naming is predictable and readable throughout the set.

Tool Count3/5

With only 3 tools, the set feels thin for a movie recommendation domain. While it covers basic recommendation and search functions, it lacks operations for browsing genres, languages, or detailed movie information, which might limit agent effectiveness.

Completeness2/5

The tool surface is significantly incomplete for an Indian movies domain. There are no tools for getting movie details (e.g., plot, cast, ratings), filtering by criteria beyond basic preferences, or managing user interactions (e.g., saving favorites). This will likely cause agent failures in comprehensive movie-related tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants like Claude to interact with The Movie Database (TMDB) API, providing capabilities for searching movies, retrieving movie details, and generating customized movie reviews and recommendations.
    4
    134
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides movie listings, showtimes, and personalized recommendations for Amsterdam cinemas by scraping filmladder.nl, with support for filtering by date, cinema, rating, and preferred showtimes.
    1
    -
  • A
    license
    B
    quality
    D
    maintenance
    Provides intelligent OTT content recommendations based on IMDB ratings, platform availability, and genre preferences, enabling users to search and filter movies and series across multiple streaming services.
    8
    MIT

Latest Blog Posts

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/sudhish/indian-movies-mcp'

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