# mimory-mcp-focus-langchain
[](https://badge.fury.io/py/mimory-mcp-focus-langchain)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
LangChain integration for [mimory-mcp-focus](https://github.com/mimoryinc/mimory-mcp-focus), providing focus capabilities to your LangChain MCP implementations.
## Overview
`mimory-mcp-focus-langchain` extends LangChain's MCP (Model Context Protocol) integration with powerful focus capabilities. It allows you to:
- **Restrict tool access** to specific MCP tools
- **Control parameter values** with whitelists and ranges
- **Apply composite focus** for complex tool-specific restrictions
- **Integrate seamlessly** with LangChain's tool ecosystem
## Installation
```bash
pip install mimory-mcp-focus-langchain
```
### Dependencies
This package requires:
- Python 3.10+
- [mimory-mcp-focus](https://github.com/mimoryinc/mimory-mcp-focus) - Core focus functionality
- [langchain-mcp-adapters](https://github.com/langchain-ai/langchain-mcp-adapters) - LangChain MCP integration
- [langchain-core](https://github.com/langchain-ai/langchain) - LangChain core functionality
## Quick Start
### Basic Usage with FocusMultiServerMCPClient
```python
import asyncio
from mim_mcp_focus_langchain import FocusMultiServerMCPClient
from langchain_mcp_adapters.sessions import Connection
async def main():
# Define MCP server connections
connections = {
"everything": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
},
"time": {
"transport": "stdio",
"command": "python",
"args": ["-m", "mcp_server_time"]
}
}
# Configure focus restrictions
focus_configs = {
"everything": {
"focus_tools": ["echo", "add"], # Only allow these tools
"focus_params": {
"message": ["hello", "world"], # Restrict message values
"a": ["range:1-10"] # Restrict 'a' parameter to 1-10
}
},
"time": {
"focus_tools": ["get_current_time"], # Only allow time tool
"focus_params": {
"timezone": ["America/New_York", "Europe/London"] # Restrict timezones
}
}
}
# Create focus-enabled client
client = FocusMultiServerMCPClient(connections, focus_configs)
# Get tools with focus applied
tools = await client.get_tools()
# Use tools in your LangChain application
for tool in tools:
print(f"Tool: {tool.name} - {tool.description}")
if __name__ == "__main__":
asyncio.run(main())
```
### Using Core FocusClient with LangChain
```python
import asyncio
from mimory_mcp_focus import focus_client_simple, focus_client_composite
from langchain_mcp_adapters.sessions import Connection, create_session
from langchain_mcp_adapters.tools import load_mcp_tools
async def main():
# Create MCP connection
connection = {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
# Create focus-enabled session
async with create_session(connection) as session:
await session.initialize()
# Apply focus restrictions using simple focus
focus_session = focus_client_simple(
session,
focus_tools=["echo", "add"],
focus_params={
"message": ["hello", "world"],
"a": ["range:1-10"]
},
strict=False
)
# Load tools with focus applied
tools = await load_mcp_tools(focus_session)
# Use tools in LangChain
for tool in tools:
print(f"Tool: {tool.name}")
if __name__ == "__main__":
asyncio.run(main())
```
## Focus Configuration
### Simple Focus
Restrict tools and parameters globally:
```python
focus_config = {
"focus_tools": ["tool1", "tool2"], # Allowed tools
"focus_params": {
"param1": ["value1", "value2"], # Allowed values
"param2": ["range:1-100"] # Numeric range
},
"focus_type": "simple", # How the focus params are encoded
"strict": False # Whether to enforce strict mode
}
```
### Composite Focus
Apply different restrictions per tool:
```python
focus_config = {
"focus": {
"tool1": {
"param1": ["value1", "value2"],
"param2": ["range:1-10"]
},
"tool2": {
"param3": ["value3", "value4"],
"param4": ["value5"]
}
},
"focus_type": "composite", # How the focus params are encoded
"strict": True
}
```
### Focus Configuration Structure
The `focus_config` dictionary supports the following structure:
**For Simple Focus (`focus_type: "simple"`):**
- `focus_tools`: List of allowed tool names (use `["*"]` to allow all tools)
- `focus_params`: Dictionary mapping parameter names to allowed values
- `focus_type`: Must be `"simple"`
- `strict`: Boolean indicating whether to enforce strict mode
**For Composite Focus (`focus_type: "composite"`):**
- `focus`: Dictionary mapping tool names to their parameter restrictions
- `focus_type`: Must be `"composite"`
- `strict`: Boolean indicating whether to enforce strict mode
**Parameter Value Formats:**
- Exact values: `["value1", "value2"]`
- Numeric ranges: `["range:1-100"]` (inclusive)
- Wildcard: `["*"]` (allows any value)
## API Reference
### FocusMultiServerMCPClient
Main class for focus-enabled multi-server MCP operations.
#### Constructor
```python
FocusMultiServerMCPClient(
connections: Optional[Dict[str, Connection]] = None,
focus_configs: Optional[Dict[str, Dict[str, Any]]] = None
)
```
**Parameters:**
- `connections`: Dictionary mapping server names to connection configurations
- `focus_configs`: Dictionary mapping server names to focus configurations
#### Methods
##### `async get_tools(server_name: Optional[str] = None) -> List[BaseTool]`
Get LangChain tools with focus restrictions applied.
**Parameters:**
- `server_name`: Optional name of specific server. If None, returns tools from all servers.
**Returns:**
- List of LangChain tools with focus applied
##### `async session(server_name: str, *, auto_initialize: bool = True) -> AsyncIterator[ClientSession]`
Create a focus-enabled MCP session.
**Parameters:**
- `server_name`: Name of the server to connect to
- `auto_initialize`: Whether to automatically initialize the session
**Returns:**
- Async context manager yielding a focus-enabled ClientSession
## Examples
### Example 1: Basic Tool Restriction
```python
# examples/basic_restriction.py
import asyncio
from mim_mcp_focus_langchain import FocusMultiServerMCPClient
async def main():
connections = {
"everything": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
focus_configs = {
"everything": {
"focus_tools": ["echo"], # Only allow echo tool
"focus_params": {
"message": ["hello", "world", "test"] # Restrict message values
},
"focus_type": "simple",
"strict": False
}
}
client = FocusMultiServerMCPClient(connections, focus_configs)
tools = await client.get_tools()
print("Available tools:")
for tool in tools:
print(f"- {tool.name}: {tool.description}")
if __name__ == "__main__":
asyncio.run(main())
```
### Example 2: Multi-Server with Composite Focus
```python
# examples/multi_server_composite.py
import asyncio
from mim_mcp_focus_langchain import FocusMultiServerMCPClient
async def main():
connections = {
"everything": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
},
"time": {
"transport": "stdio",
"command": "python",
"args": ["-m", "mcp_server_time"]
}
}
focus_configs = {
"everything": {
"focus": {
"echo": {
"message": ["hello", "world"]
},
"add": {
"a": ["range:1-5"],
"b": ["range:1-5"]
}
},
"focus_type": "composite",
"strict": False
},
"time": {
"focus_tools": ["get_current_time"],
"focus_params": {
"timezone": ["America/New_York", "Europe/London"]
},
"focus_type": "simple",
"strict": False
}
}
client = FocusMultiServerMCPClient(connections, focus_configs)
tools = await client.get_tools()
print("Available tools:")
for tool in tools:
print(f"- {tool.name}: {tool.description}")
if __name__ == "__main__":
asyncio.run(main())
```
### Example 3: Using with LangChain Agents
```python
# examples/langchain_agent.py
import asyncio
from mim_mcp_focus_langchain import FocusMultiServerMCPClient
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_openai import ChatOpenAI
async def main():
# Setup MCP connections with focus
connections = {
"everything": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
focus_configs = {
"everything": {
"focus_tools": ["echo", "add"],
"focus_params": {
"message": ["hello", "world", "test"],
"a": ["range:1-10"],
"b": ["range:1-10"]
},
"focus_type": "simple",
"strict": False
}
}
# Create focus-enabled client
client = FocusMultiServerMCPClient(connections, focus_configs)
# Get tools
tools = await client.get_tools()
# Create LangChain agent
llm = ChatOpenAI(model="gpt-4", temperature=0)
agent = create_tool_calling_agent(llm, tools, "You are a helpful assistant with access to focused MCP tools.")
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# Run agent
result = await agent_executor.ainvoke({"input": "Echo 'hello' and add 5 + 3"})
print(result)
if __name__ == "__main__":
asyncio.run(main())
```
## Error Handling
The library uses standard Python exceptions for error handling. Focus-related errors will be raised as appropriate exceptions that you can catch and handle as needed.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Links
- [LangChain Python SDK](https://github.com/langchain-ai/langchain)
- [LangChain MCP Adapters](https://github.com/langchain-ai/langchain-mcp-adapters)
- [mimory-mcp-focus](https://github.com/mimoryinc/mimory-mcp-focus)
- [Model Context Protocol](https://modelcontextprotocol.io/)
## Author
**Travis McQueen** - [oss@mimory.io](mailto:oss@mimory.io)
## Support
For support, please open an issue on [GitHub](https://github.com/mimoryinc/mimory-mcp-focus-langchain/issues).
Raw data
{
"_id": null,
"home_page": null,
"name": "mimory-mcp-focus-langchain",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mcp, langchain, focus, ai, tools",
"author": null,
"author_email": "Travis McQueen <oss@mimory.io>",
"download_url": "https://files.pythonhosted.org/packages/5b/3f/4ff66c3b2d60d3ccfbe0063ae32b370f64e5ecc00845bd0e73e82e0483d4/mimory_mcp_focus_langchain-0.1.0.tar.gz",
"platform": null,
"description": "# mimory-mcp-focus-langchain\n\n[](https://badge.fury.io/py/mimory-mcp-focus-langchain)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n\nLangChain integration for [mimory-mcp-focus](https://github.com/mimoryinc/mimory-mcp-focus), providing focus capabilities to your LangChain MCP implementations.\n\n## Overview\n\n`mimory-mcp-focus-langchain` extends LangChain's MCP (Model Context Protocol) integration with powerful focus capabilities. It allows you to:\n\n- **Restrict tool access** to specific MCP tools\n- **Control parameter values** with whitelists and ranges\n- **Apply composite focus** for complex tool-specific restrictions\n- **Integrate seamlessly** with LangChain's tool ecosystem\n\n## Installation\n\n```bash\npip install mimory-mcp-focus-langchain\n```\n\n### Dependencies\n\nThis package requires:\n- Python 3.10+\n- [mimory-mcp-focus](https://github.com/mimoryinc/mimory-mcp-focus) - Core focus functionality\n- [langchain-mcp-adapters](https://github.com/langchain-ai/langchain-mcp-adapters) - LangChain MCP integration\n- [langchain-core](https://github.com/langchain-ai/langchain) - LangChain core functionality\n\n## Quick Start\n\n### Basic Usage with FocusMultiServerMCPClient\n\n```python\nimport asyncio\nfrom mim_mcp_focus_langchain import FocusMultiServerMCPClient\nfrom langchain_mcp_adapters.sessions import Connection\n\nasync def main():\n # Define MCP server connections\n connections = {\n \"everything\": {\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-everything\"]\n },\n \"time\": {\n \"transport\": \"stdio\", \n \"command\": \"python\",\n \"args\": [\"-m\", \"mcp_server_time\"]\n }\n }\n \n # Configure focus restrictions\n focus_configs = {\n \"everything\": {\n \"focus_tools\": [\"echo\", \"add\"], # Only allow these tools\n \"focus_params\": {\n \"message\": [\"hello\", \"world\"], # Restrict message values\n \"a\": [\"range:1-10\"] # Restrict 'a' parameter to 1-10\n }\n },\n \"time\": {\n \"focus_tools\": [\"get_current_time\"], # Only allow time tool\n \"focus_params\": {\n \"timezone\": [\"America/New_York\", \"Europe/London\"] # Restrict timezones\n }\n }\n }\n \n # Create focus-enabled client\n client = FocusMultiServerMCPClient(connections, focus_configs)\n \n # Get tools with focus applied\n tools = await client.get_tools()\n \n # Use tools in your LangChain application\n for tool in tools:\n print(f\"Tool: {tool.name} - {tool.description}\")\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n### Using Core FocusClient with LangChain\n\n```python\nimport asyncio\nfrom mimory_mcp_focus import focus_client_simple, focus_client_composite\nfrom langchain_mcp_adapters.sessions import Connection, create_session\nfrom langchain_mcp_adapters.tools import load_mcp_tools\n\nasync def main():\n # Create MCP connection\n connection = {\n \"transport\": \"stdio\",\n \"command\": \"npx\", \n \"args\": [\"-y\", \"@modelcontextprotocol/server-everything\"]\n }\n \n # Create focus-enabled session\n async with create_session(connection) as session:\n await session.initialize()\n \n # Apply focus restrictions using simple focus\n focus_session = focus_client_simple(\n session,\n focus_tools=[\"echo\", \"add\"],\n focus_params={\n \"message\": [\"hello\", \"world\"],\n \"a\": [\"range:1-10\"]\n },\n strict=False\n )\n \n # Load tools with focus applied\n tools = await load_mcp_tools(focus_session)\n \n # Use tools in LangChain\n for tool in tools:\n print(f\"Tool: {tool.name}\")\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n## Focus Configuration\n\n### Simple Focus\n\nRestrict tools and parameters globally:\n\n```python\nfocus_config = {\n \"focus_tools\": [\"tool1\", \"tool2\"], # Allowed tools\n \"focus_params\": {\n \"param1\": [\"value1\", \"value2\"], # Allowed values\n \"param2\": [\"range:1-100\"] # Numeric range\n },\n \"focus_type\": \"simple\", # How the focus params are encoded\n \"strict\": False # Whether to enforce strict mode\n}\n```\n\n### Composite Focus\n\nApply different restrictions per tool:\n\n```python\nfocus_config = {\n \"focus\": {\n \"tool1\": {\n \"param1\": [\"value1\", \"value2\"],\n \"param2\": [\"range:1-10\"]\n },\n \"tool2\": {\n \"param3\": [\"value3\", \"value4\"],\n \"param4\": [\"value5\"]\n }\n },\n \"focus_type\": \"composite\", # How the focus params are encoded\n \"strict\": True\n}\n```\n\n### Focus Configuration Structure\n\nThe `focus_config` dictionary supports the following structure:\n\n**For Simple Focus (`focus_type: \"simple\"`):**\n- `focus_tools`: List of allowed tool names (use `[\"*\"]` to allow all tools)\n- `focus_params`: Dictionary mapping parameter names to allowed values\n- `focus_type`: Must be `\"simple\"`\n- `strict`: Boolean indicating whether to enforce strict mode\n\n**For Composite Focus (`focus_type: \"composite\"`):**\n- `focus`: Dictionary mapping tool names to their parameter restrictions\n- `focus_type`: Must be `\"composite\"`\n- `strict`: Boolean indicating whether to enforce strict mode\n\n**Parameter Value Formats:**\n- Exact values: `[\"value1\", \"value2\"]`\n- Numeric ranges: `[\"range:1-100\"]` (inclusive)\n- Wildcard: `[\"*\"]` (allows any value)\n\n## API Reference\n\n### FocusMultiServerMCPClient\n\nMain class for focus-enabled multi-server MCP operations.\n\n#### Constructor\n\n```python\nFocusMultiServerMCPClient(\n connections: Optional[Dict[str, Connection]] = None,\n focus_configs: Optional[Dict[str, Dict[str, Any]]] = None\n)\n```\n\n**Parameters:**\n- `connections`: Dictionary mapping server names to connection configurations\n- `focus_configs`: Dictionary mapping server names to focus configurations\n\n#### Methods\n\n##### `async get_tools(server_name: Optional[str] = None) -> List[BaseTool]`\n\nGet LangChain tools with focus restrictions applied.\n\n**Parameters:**\n- `server_name`: Optional name of specific server. If None, returns tools from all servers.\n\n**Returns:**\n- List of LangChain tools with focus applied\n\n##### `async session(server_name: str, *, auto_initialize: bool = True) -> AsyncIterator[ClientSession]`\n\nCreate a focus-enabled MCP session.\n\n**Parameters:**\n- `server_name`: Name of the server to connect to\n- `auto_initialize`: Whether to automatically initialize the session\n\n**Returns:**\n- Async context manager yielding a focus-enabled ClientSession\n\n## Examples\n\n### Example 1: Basic Tool Restriction\n\n```python\n# examples/basic_restriction.py\nimport asyncio\nfrom mim_mcp_focus_langchain import FocusMultiServerMCPClient\n\nasync def main():\n connections = {\n \"everything\": {\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-everything\"]\n }\n }\n \n focus_configs = {\n \"everything\": {\n \"focus_tools\": [\"echo\"], # Only allow echo tool\n \"focus_params\": {\n \"message\": [\"hello\", \"world\", \"test\"] # Restrict message values\n },\n \"focus_type\": \"simple\",\n \"strict\": False\n }\n }\n \n client = FocusMultiServerMCPClient(connections, focus_configs)\n tools = await client.get_tools()\n \n print(\"Available tools:\")\n for tool in tools:\n print(f\"- {tool.name}: {tool.description}\")\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n### Example 2: Multi-Server with Composite Focus\n\n```python\n# examples/multi_server_composite.py\nimport asyncio\nfrom mim_mcp_focus_langchain import FocusMultiServerMCPClient\n\nasync def main():\n connections = {\n \"everything\": {\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-everything\"]\n },\n \"time\": {\n \"transport\": \"stdio\",\n \"command\": \"python\", \n \"args\": [\"-m\", \"mcp_server_time\"]\n }\n }\n \n focus_configs = {\n \"everything\": {\n \"focus\": {\n \"echo\": {\n \"message\": [\"hello\", \"world\"]\n },\n \"add\": {\n \"a\": [\"range:1-5\"],\n \"b\": [\"range:1-5\"]\n }\n },\n \"focus_type\": \"composite\",\n \"strict\": False\n },\n \"time\": {\n \"focus_tools\": [\"get_current_time\"],\n \"focus_params\": {\n \"timezone\": [\"America/New_York\", \"Europe/London\"]\n },\n \"focus_type\": \"simple\",\n \"strict\": False\n }\n }\n \n client = FocusMultiServerMCPClient(connections, focus_configs)\n tools = await client.get_tools()\n \n print(\"Available tools:\")\n for tool in tools:\n print(f\"- {tool.name}: {tool.description}\")\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n### Example 3: Using with LangChain Agents\n\n```python\n# examples/langchain_agent.py\nimport asyncio\nfrom mim_mcp_focus_langchain import FocusMultiServerMCPClient\nfrom langchain.agents import AgentExecutor, create_tool_calling_agent\nfrom langchain_openai import ChatOpenAI\n\nasync def main():\n # Setup MCP connections with focus\n connections = {\n \"everything\": {\n \"transport\": \"stdio\",\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-everything\"]\n }\n }\n \n focus_configs = {\n \"everything\": {\n \"focus_tools\": [\"echo\", \"add\"],\n \"focus_params\": {\n \"message\": [\"hello\", \"world\", \"test\"],\n \"a\": [\"range:1-10\"],\n \"b\": [\"range:1-10\"]\n },\n \"focus_type\": \"simple\",\n \"strict\": False\n }\n }\n \n # Create focus-enabled client\n client = FocusMultiServerMCPClient(connections, focus_configs)\n \n # Get tools\n tools = await client.get_tools()\n \n # Create LangChain agent\n llm = ChatOpenAI(model=\"gpt-4\", temperature=0)\n agent = create_tool_calling_agent(llm, tools, \"You are a helpful assistant with access to focused MCP tools.\")\n agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)\n \n # Run agent\n result = await agent_executor.ainvoke({\"input\": \"Echo 'hello' and add 5 + 3\"})\n print(result)\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n## Error Handling\n\nThe library uses standard Python exceptions for error handling. Focus-related errors will be raised as appropriate exceptions that you can catch and handle as needed.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Links\n\n- [LangChain Python SDK](https://github.com/langchain-ai/langchain)\n- [LangChain MCP Adapters](https://github.com/langchain-ai/langchain-mcp-adapters)\n- [mimory-mcp-focus](https://github.com/mimoryinc/mimory-mcp-focus)\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n\n## Author\n\n**Travis McQueen** - [oss@mimory.io](mailto:oss@mimory.io)\n\n## Support\n\nFor support, please open an issue on [GitHub](https://github.com/mimoryinc/mimory-mcp-focus-langchain/issues).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "LangChain integration for mimory-mcp-focus",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/mimoryinc/mimory-mcp-focus-langchain/issues",
"Homepage": "https://github.com/mimoryinc/mimory-mcp-focus-langchain",
"Repository": "https://github.com/mimoryinc/mimory-mcp-focus-langchain"
},
"split_keywords": [
"mcp",
" langchain",
" focus",
" ai",
" tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e82cbf415478bc5249c88d4c8bc8dbf738aa1b3cd981299ee620dcad2f575501",
"md5": "6e522c8fa86643d8cfdf6cd4c47e5891",
"sha256": "78ff58165bb746115d1c39e95ba31d1521a7d0da8ad1e60ad83b0eb25b307b7a"
},
"downloads": -1,
"filename": "mimory_mcp_focus_langchain-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6e522c8fa86643d8cfdf6cd4c47e5891",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 9839,
"upload_time": "2025-10-08T18:54:08",
"upload_time_iso_8601": "2025-10-08T18:54:08.563479Z",
"url": "https://files.pythonhosted.org/packages/e8/2c/bf415478bc5249c88d4c8bc8dbf738aa1b3cd981299ee620dcad2f575501/mimory_mcp_focus_langchain-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5b3f4ff66c3b2d60d3ccfbe0063ae32b370f64e5ecc00845bd0e73e82e0483d4",
"md5": "5835b34e96ce8eccb8ab7436ece7b4f5",
"sha256": "a066afc7d9e4a0a30827aa56a45cd61226b0e7384c19cfad25628408762fae1c"
},
"downloads": -1,
"filename": "mimory_mcp_focus_langchain-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "5835b34e96ce8eccb8ab7436ece7b4f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 12416,
"upload_time": "2025-10-08T18:54:10",
"upload_time_iso_8601": "2025-10-08T18:54:10.033984Z",
"url": "https://files.pythonhosted.org/packages/5b/3f/4ff66c3b2d60d3ccfbe0063ae32b370f64e5ecc00845bd0e73e82e0483d4/mimory_mcp_focus_langchain-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-08 18:54:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mimoryinc",
"github_project": "mimory-mcp-focus-langchain",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mimory-mcp-focus-langchain"
}