openai.APIConnectionError: Connection error
🐛 Describe the bug
We are using version mem0-0.1.100, deploying with OpenMemory privatization, and reapplying for the API key of OpenAI. We have confirmed that this API key can be used, but http://127.0.0.1:3000 On the webpage, when creating memory, the following error appears. How can I solve it? Also, using MCP service to store memory in cursor also fails. The configuration in cursor is as follows:
{
"mcpServers": {
"Cursor": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--sse",
"http://192.168.101.66:8765/mcp/cursor/sse/root"
]
}
}
}
The backend error is:
openmemory-mcp-1 | [05/22/25 05:47:37] INFO Creating memory for user_id: root memories.py:228
openmemory-mcp-1 | with app: openmemory
openmemory-mcp-1 | [05/22/25 05:47:42] INFO Retrying request to _base_client.py:1058
openmemory-mcp-1 | /chat/completions in 0.377132
openmemory-mcp-1 | seconds
openmemory-mcp-1 | [05/22/25 05:47:48] INFO Retrying request to _base_client.py:1058
openmemory-mcp-1 | /chat/completions in 0.904296
openmemory-mcp-1 | seconds
openmemory-mcp-1 | INFO: 192.168.101.174:52726 - "POST /api/v1/memories/ HTTP/1.1" 500 Internal Server Error
openmemory-mcp-1 | ERROR: Exception in ASGI application
openmemory-mcp-1 | Traceback (most recent call last):
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 101, in map_httpcore_exceptions
openmemory-mcp-1 | yield
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 250, in handle_request
openmemory-mcp-1 | resp = self._pool.handle_request(req)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 256, in handle_request
openmemory-mcp-1 | raise exc from None
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 236, in handle_request
openmemory-mcp-1 | response = connection.handle_request(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 101, in handle_request
openmemory-mcp-1 | raise exc
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 78, in handle_request
openmemory-mcp-1 | stream = self._connect(request)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 124, in _connect
openmemory-mcp-1 | stream = self._network_backend.connect_tcp(**kwargs)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 207, in connect_tcp
openmemory-mcp-1 | with map_exceptions(exc_map):
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
openmemory-mcp-1 | self.gen.throw(value)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
openmemory-mcp-1 | raise to_exc(exc) from exc
openmemory-mcp-1 | httpcore.ConnectError: [Errno 101] Network is unreachable
openmemory-mcp-1 |
openmemory-mcp-1 | The above exception was the direct cause of the following exception:
openmemory-mcp-1 |
openmemory-mcp-1 | Traceback (most recent call last):
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/openai/_base_client.py", line 969, in request
openmemory-mcp-1 | response = self._client.send(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 914, in send
openmemory-mcp-1 | response = self._send_handling_auth(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 942, in _send_handling_auth
openmemory-mcp-1 | response = self._send_handling_redirects(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 979, in _send_handling_redirects
openmemory-mcp-1 | response = self._send_single_request(request)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1014, in _send_single_request
openmemory-mcp-1 | response = transport.handle_request(request)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 249, in handle_request
openmemory-mcp-1 | with map_httpcore_exceptions():
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
openmemory-mcp-1 | self.gen.throw(value)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 118, in map_httpcore_exceptions
openmemory-mcp-1 | raise mapped_exc(message) from exc
openmemory-mcp-1 | httpx.ConnectError: [Errno 101] Network is unreachable
openmemory-mcp-1 |
openmemory-mcp-1 | The above exception was the direct cause of the following exception:
openmemory-mcp-1 |
openmemory-mcp-1 | Traceback (most recent call last):
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
openmemory-mcp-1 | result = await app( # type: ignore[func-returns-value]
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
openmemory-mcp-1 | return await self.app(scope, receive, send)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
openmemory-mcp-1 | await super().__call__(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 112, in __call__
openmemory-mcp-1 | await self.middleware_stack(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
openmemory-mcp-1 | raise exc
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
openmemory-mcp-1 | await self.app(scope, receive, _send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/middleware/cors.py", line 93, in __call__
openmemory-mcp-1 | await self.simple_response(scope, receive, send, request_headers=headers)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/middleware/cors.py", line 144, in simple_response
openmemory-mcp-1 | await self.app(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
openmemory-mcp-1 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
openmemory-mcp-1 | raise exc
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
openmemory-mcp-1 | await app(scope, receive, sender)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 714, in __call__
openmemory-mcp-1 | await self.middleware_stack(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 734, in app
openmemory-mcp-1 | await route.handle(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
openmemory-mcp-1 | await self.app(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
openmemory-mcp-1 | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
openmemory-mcp-1 | raise exc
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
openmemory-mcp-1 | await app(scope, receive, sender)
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
openmemory-mcp-1 | response = await f(request)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
openmemory-mcp-1 | raw_response = await run_endpoint_function(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
openmemory-mcp-1 | return await dependant.call(**values)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/src/openmemory/app/routers/memories.py", line 231, in create_memory
openmemory-mcp-1 | qdrant_response = memory_client.add(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/mem0/memory/main.py", line 256, in add
openmemory-mcp-1 | vector_store_result = future1.result()
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in result
openmemory-mcp-1 | return self.__get_result()
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
openmemory-mcp-1 | raise self._exception
openmemory-mcp-1 | File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 59, in run
openmemory-mcp-1 | result = self.fn(*self.args, **self.kwargs)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/mem0/memory/main.py", line 322, in _add_to_vector_store
openmemory-mcp-1 | response = self.llm.generate_response(
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/mem0/llms/openai.py", line 122, in generate_response
openmemory-mcp-1 | response = self.client.chat.completions.create(**params)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/openai/_utils/_utils.py", line 287, in wrapper
openmemory-mcp-1 | return func(*args, **kwargs)
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 925, in create
openmemory-mcp-1 | return self._post(
openmemory-mcp-1 | ^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/openai/_base_client.py", line 1239, in post
openmemory-mcp-1 | return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
openmemory-mcp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openmemory-mcp-1 | File "/usr/local/lib/python3.12/site-packages/openai/_base_client.py", line 1001, in request
openmemory-mcp-1 | raise APIConnectionError(request=request) from err
openmemory-mcp-1 | openai.APIConnectionError: Connection error.
`
I have seen this exact issue with calling OpenAI API sometimes due to wifi / vpn issues. Can you please try using a different wifi network or changing vpn if you have it? That has resolved issues in the past.
I have seen this exact issue with calling OpenAI API sometimes due to wifi / vpn issues. Can you please try using a different wifi network or changing vpn if you have it? That has resolved issues in the past.
ping platform.openai.com. This command can be used to communicate with the openai server. At the same time, the api key can be used to request openai services through other test codes.