Model Context Protocol - Gemini Thinking Server
This is an implementation of the Model Context Protocol (MCP) that integrates with Google's Gemini API to provide analytical thinking capabilities without code generation.
Overview
The Gemini Thinking Server is a specialized MCP server that leverages Google's Gemini model to provide sequential thinking and problem-solving capabilities. It allows for:
Breaking down complex problems into steps
Planning and design with room for revision
Analysis that might need course correction
Problems where the full scope might not be clear initially
Features
Gemini-Powered Thinking: Utilizes Gemini's analytical capabilities to generate thoughtful responses
Meta-Commentary: Provides insights into the reasoning process
Confidence Levels: Indicates how confident Gemini is in its analysis
Alternative Paths: Suggests different approaches to the problem
Branching Thoughts: Allows exploration of different thought paths
Revision Capability: Supports revising previous thoughts
Session Persistence: Save and resume analysis sessions
Installation
Usage
Environment Setup
Before running the server, you need to set up your Gemini API key:
Running the Server
Tool Parameters
The geminithinking tool accepts the following parameters:
query(required): The question or problem to analyzecontext(optional): Additional context informationapproach(optional): Suggested approach to the problempreviousThoughts(optional): Array of previous thoughts for contextthought(optional): Your current thinking step (if empty, will be generated by Gemini)nextThoughtNeeded(required): Whether another thought step is neededthoughtNumber(required): Current thought numbertotalThoughts(required): Estimated total thoughts neededisRevision(optional): Whether this revises previous thinkingrevisesThought(optional): Which thought is being reconsideredbranchFromThought(optional): Branching point thought numberbranchId(optional): Branch identifierneedsMoreThoughts(optional): If more thoughts are needed
Session Management
The tool also supports session management commands:
sessionCommand: Command to manage sessions ('save', 'load', 'getState')sessionPath: Path to save or load the session file (required for 'save' and 'load' commands)
Example: Saving a Session
Example: Loading a Session
Example: Getting Session State
Example
Here's an example of how to use the tool:
Response Format
The server responds with:
Example Clients
Several example clients are provided to demonstrate different use cases:
sample-client.js: Basic client exampleexample-usage.js: Specific usage examplecodebase-analysis-example.js: Example for codebase analysissession-example.js: Example demonstrating session persistenceadvanced-filtering-example.js: Example demonstrating advanced semantic filtering
To run the session example:
To run the advanced filtering example:
License
MIT
This server cannot be installed