Metadata-Version: 2.4
Name: think-mcp-server
Version: 0.4.4
Summary: thinkthinking's mcp server
Project-URL: Homepage, https://github.com/thinkthinking/think-mcp-server
Project-URL: Bug Tracker, https://github.com/thinkthinking/think-mcp-server/issues
Project-URL: Documentation, https://github.com/thinkthinking/think-mcp-server#readme
Author-email: "zhenjie.ye" <yezhenjie@outlook.de>
License: MIT
License-File: LICENSE
Keywords: ai,mcp,server,think
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: fastapi>=0.109.0
Requires-Dist: httpx[socks]>=0.28.1
Requires-Dist: mcp>=1.3.0
Requires-Dist: openai>=1.3.0
Requires-Dist: prompt-toolkit>=3.0.43
Requires-Dist: pyfiglet>=1.0.2
Requires-Dist: pytest-asyncio>=0.25.3
Requires-Dist: pytest-mock>=3.14.0
Requires-Dist: pytest>=8.3.4
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: rich>=13.9.4
Requires-Dist: think-llm-client>=0.3.7
Requires-Dist: tiktoken>=0.8.0
Requires-Dist: time-machine>=2.13.0
Requires-Dist: uvicorn>=0.27.0
Provides-Extra: dev
Requires-Dist: black>=24.3.0; extra == 'dev'
Requires-Dist: build>=1.2.0; extra == 'dev'
Requires-Dist: flake8>=7.0.0; extra == 'dev'
Requires-Dist: isort>=5.13.2; extra == 'dev'
Requires-Dist: mypy>=1.9.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.25.3; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.14.0; extra == 'dev'
Requires-Dist: pytest>=8.3.4; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Think MCP Server

[![PyPI version](https://img.shields.io/pypi/v/think-mcp-server.svg)](https://pypi.org/project/think-mcp-server/)
[![Python Version](https://img.shields.io/pypi/pyversions/think-mcp-server.svg)](https://pypi.org/project/think-mcp-server/)
[![License](https://img.shields.io/pypi/l/think-mcp-server.svg)](https://github.com/thinkthinking/think-mcp-server/blob/main/LICENSE)

Think MCP Server 是一个基于 MCP 协议的服务器实现，提供了丰富的功能，包括提示词管理、资源管理和工具调用等。

## 特性

- **跨平台支持**：完全兼容 macOS、Windows 和 Linux
- **自动配置文件管理**：首次运行时自动创建必要的配置文件和目录
- **提示词模板系统**：管理和使用多种提示词模板
- **资源管理**：集中管理和访问各类资源文件
- **工具调用接口**：提供丰富的工具调用能力
  - 内容分析工具：分析文件内容，提取关键信息
  - 文章分析工具：分析文章结构和内容
- **环境变量管理**：通过 .env 文件管理配置
- **日志系统**：详细的日志记录，便于调试和监控

## 安装

### 使用 pip 安装

```bash
pip install think-mcp-server
```

### 使用 uvx 直接运行

```bash
uvx think-mcp-server
```

### 从源码安装

```bash
git clone https://github.com/thinkthinking/think-mcp-server.git
cd think-mcp-server
pip install -e .
```

## 使用方法

### 配置

首次运行时，Think MCP Server 会自动创建必要的配置文件和目录：

- `~/.think-mcp-server/config/.env`: 环境变量配置
- `~/.think-mcp-server/prompts/`: 提示词目录
- `~/.think-mcp-server/resources/`: 资源目录

### 环境变量

主要环境变量包括：

```
# 基础路径配置
prompts_path=~/.think-mcp-server/prompts
resources_path=~/.think-mcp-server/resources

# 文章分析工具配置
article_base_path=~/src_code/nas/knowledge/Articles
max_tokens_limit=89600

# 内容分析工具配置
content_analyzer_prompt_path=~/.think-mcp-server/resources/tool_content_analyzer_prompt.md
```

### 运行服务器

```bash
think-mcp-server
```

### 在 Windsurf 中配置

在 Windsurf 的 servers_config.json 中添加以下配置：

```json
{
    "mcpServers": {
        "think-mcp-server": {
            "command": "uvx",
            "args": [
                "think-mcp-server"
            ]
        }
    }
}
```

## 功能说明

### 提示词管理

服务器提供了以下提示词相关功能：

- 列出所有可用提示词：`handle_list_prompts`
- 获取特定提示词：`handle_get_prompt`
- 支持动态参数替换

### 资源管理

服务器提供了以下资源相关功能：

- 读取特定资源：`handle_read_resource`
- 自动管理资源文件路径

### 工具调用

服务器提供了以下工具：

- 内容分析工具：分析文件内容，提取关键信息
- 文章分析工具：分析文章结构和内容

## 开发

### 安装开发依赖

```bash
pip install -e ".[dev]"
```

### 运行测试

```bash
pytest
```

### 构建和发布

项目使用 GitHub Actions 自动发布到 PyPI。当推送新的版本标签（如 `v0.4.1`）时，将自动触发构建和发布流程。

## 许可证

MIT

## 作者

- thinkthinking (yezhenjie@outlook.de)